Sto facendo un piccolo incarico in C ++ dove devo usare concetti come le funzioni virtuali e l'ereditarietà in un dominio di mia scelta. Sto implementando il prototipo per un gestore di pacchetti in Linux.
Ho il pacchetto della classe base, questo ha attributi come package_id, nome, versione, dipendenze, ecc. Esistono due tipi di pacchetti, MetaPackages e ConcretePackages, che differiscono nel modo in cui devono essere installati e rimossi.
Sto pensando di dichiarare i metodi di installazione e rimozione in Package come virtuali. Durante la memorizzazione di questi pacchetti in un file di dati posso sapere in qualche modo se il pacchetto memorizzato è Meta o Concrete.
Non sono sicuro di come dovrei progettarlo al meglio. Qualcuno può indicarmi una risorsa in modo che io possa imparare meglio questa roba.
Abbiamo Grady Booch nel nostro curriculum e onestamente è difficile leggere molto meno.