Una semplice regola empirica è incapsulare dati complessi e codice utilizzato ripetutamente e ignorare ciò che non lo è. Ciò consente di inserire strutture dati complicate insieme ai loro metodi di manipolazione per una maggiore portabilità e flessibilità. Come un elenco di oggetti di database con ordinamento intelligente per tipo di proprietà.
Il codice OO offusca anche ciò che non è necessario conoscere. Ad esempio, non ho bisogno di sapere quale sia il mio algoritmo di ordinamento finché non rallenta, o se sto già programmando per un ambiente ad alte prestazioni.
Un'altra grande cosa del codice OO è il suo polimorfismo, il modo in cui è possibile utilizzare i tipi successivi per modificare le azioni senza che il programma ne sappia o si preoccupi. Un esempio è un formato di archivio con più tipi di elenco di file: l'elenco può avere una matrice di strutture (record o strutture) al suo interno che cambia tra i tipi di elenco, ma eredita da una classe base e la complessità di sapere quale struttura sottostante usare va via. Sarebbe piuttosto difficile gestirlo senza l'orientamento all'oggetto, e francamente è abbastanza difficile da gestire dato che è con l'orientamento dell'oggetto.
OO e MVC non risolvono i tuoi problemi, se non si sa come risolverli già, non fanno che ti danno modi più potenti per spararsi in un piede — solo che questa volta si potrebbe non sapere perché. Quindi ricorda che se è tutto, OO non è il "mirino magico" ... ma ricorda che può essere il proiettile magico data la situazione giusta e il programmatore giusto.
fonte
2008-10-07 13:24:07
non è un po 'vicino alla tua domanda precedente: "Quali sono i vantaggi della programmazione OO? Mi aiuterà a scrivere codice migliore?" ?? –
In un certo senso, anche se questo non mi ha davvero aiutato a capire cosa si adatta naturalmente al design OO - non ho ancora scritto alcun codice che mi sembra naturale, e mi chiedo se sto forzando le cose sbagliate nel modello di progettazione sbagliato. –
Forse dovresti concentrarti sulla tua domanda specifica. Le domande generali ottengono generalmente risposte inutili. Pubblica un disegno per commenti o qualcosa del genere. –