Quindi probabilmente è troppo vecchio per me per aiutare l'OP in qualsiasi modo, e non sono un esperto.
Tuttavia, mi piacerebbe supportare @Rijk & la loro risposta accettata con un po 'più di struttura e amp; alcuni libri di riferimento (obsoleti come i libri stanno iniziando a essere questi sono, a mio parere, quelli buoni).
Quindi l'OOP moderno è per lo più incentrato sull'acronimo SOLID .
Responsabilità unica, principio Open-closed, sostituzione di Liskov, segregazione di interfaccia e amp; Inversione delle dipendenze (quasi una citazione esatta dal link).
Sono definiti meglio nell'articolo collegato di quanto potrei renderli giustizia, ma qui ci sono i concetti generali a cui la maggior parte di questi elementi si adattano (ma, per quanto ne so, meno termini dal punto di vista tecnico):
- Fai una cosa e amp; fallo bene
- Tentativo di mantenere gli oggetti di programmazione più piccoli e amp; più semplice piuttosto che più grande e amp; complesso (puoi ancora costruire sistemi complessi con parti meno complesse e rende molto più facile comprendere ogni parte del sistema complesso ... ed evitare e correggere bug)
- Costruisci le tue classi in modo che seguano quanto sopra E così puoi aggiungere funzionalità a loro SENZA cambiare il codice che compone la classe (quando cambi codice funzionante stai sempre mettendo a rischio la creazione di bug)
- Progetta concetti e idee prima di progettare il tuo codice
- Quando un concetto è implementato in codice, crea un'interfaccia per esso e tutto ciò che si adatta a quel concetto dovrebbe supportare la stessa interfaccia e amp; quell'interfaccia al concetto NON dovrebbe cambiare
- In base a quanto sopra, crea più interfacce e amp; più concetti dietro di loro se le interfacce che hai creato non sono sufficienti (piuttosto che rendere l'interfaccia che hai definito più complessa)
- Evita anche catene di ereditarietà complesse e utilizza invece la composizione di oggetti
Probabilmente ho perso un certo numero di punti importanti e / o non sono riuscito a trasmettere le idee corrette in ciò che ho detto così, ai libri di riferimento. Questi libri mi sono stati raccomandati da più programmatori con più esperienza, esperienza, e amp; conoscenza di me. Quindi con quella raccomandazione:
Il secondo è un eccellente libro su come scrivere buoni software e amp; tirare fuori progetti software e amp; piano & design & ... solo un sacco di altre cose preziose.
Il primo è più accessibile in generale ed è una risorsa davvero grande per l'apprendimento, beh ... probabilmente tutti i principi trattati nell'acronimo SOLID.
Il concetto generale sembra essere meglio descritto come:
scrivere relativamente software privo di errori attraverso la scrittura di parti di codice più piccole che hanno dimostrato di funzionare, che non devono essere modificate quando si aggiungono ulteriori funzionalità.
Spero che sia utile a qualcuno.