Lasciati ispirare dagli oggetti del mondo reale e dalle loro interazioni [chiuso]

0

In base a questa domanda Penso che mentre lo scopo di OOP non è necessariamente quello di copiare oggetti del mondo reale, potrebbero essere fonte di ispirazione per progettare un software o risolvere un problema o persino imparare l'OOP stesso.

Ad esempio, per un'applicazione che si occupa del disegno, un Bitmap potrebbe essere considerato come un Page , quindi come una pagina ha il retro del colore, possiamo definire un attributo BackColor per esso. Ma possiamo renderci conto che una pagina reale non ha il colore del testo ed è l'attributo della penna, quindi possiamo definire una classe chiamata Pen che è usata per disegnare e ha un Color , LineWeight o ..

Cerco sempre l'analogia e l'ispirazione degli oggetti e delle loro interazioni quando sviluppo un software, ma non ho una definizione sistematica o chiara per quello che sto facendo. Non so quali aspetti di OOP sto copiando.

È una tecnica accettabile in OOP? Lo usi? È possibile che io violi una linea guida OOP mentre sto usando questa tecnica?

Vorrei sapere in che modo questa tecnica può aiutarmi a seguire i principi di OO, quindi posso consapevolmente usarlo.

    
posta Ahmad 19.02.2015 - 15:37
fonte

1 risposta

1

Stai confondendo molte cose quando analizzi il problema.

Ad esempio, quando si progetta un oggetto pagina che riflette un foglio di carta del mondo reale si inizia a considerare le penne. Non farlo!

Prendi solo il foglio di carta e considera le sue proprietà. Ha un colore, una consistenza, una dimensione della carta. Quindi non provare a mappare i tuoi preconcetti di termini informatici all'oggetto. Un foglio di carta non ha un "backcolour". Ha un colore, il colore o il materiale utilizzato nella fabbricazione della carta. Questo è diverso da qualsiasi concetto di disegno usando una penna che ha 2 inchiostri (assumendo una penna molto particolare che disegna sia un sottopiano largo che un pennino).

È importante cercare di non "mappare" i tuoi concetti all'oggetto. e guarda semplicemente l'entità come una cosa indipendente. considera ciò che fa solo, non ciò che può essere fatto ad esso o qualsiasi altro elemento. Poi troverai le proprietà che vanno a posto e puoi passare all'elemento successivo, ad esempio una penna e quali proprietà ha.

Quando consideri l'oggetto, dimentica anche i metodi che utilizzerai per modificarlo. Inizia solo con le proprietà. I metodi vengono aggiunti come modi per interagire e modificare tali proprietà in modo che non siano veramente importanti nella fase di progettazione. per esempio. la tua carta può contenere scritte su di essa, quindi la sua proprietà è che può mantenere blocchi di testo in posizioni particolari. Aggiungerai un metodo per aggiungere nuova scrittura ad esso, ma quando disegni la sua scrittura contenuta nel foglio è molto più importante di come viene scritta quella scrittura.

Speriamo che questo ti aiuti a ripulire i tuoi pensieri, il design può essere un po 'vago e sciolto nel migliore dei casi!

    
risposta data 19.02.2015 - 15:55
fonte

Leggi altre domande sui tag