Progettare classi con informazioni nascoste [chiuso]

2

John Ousterhout (l'inventore di Tcl / Tk tra le altre cose) ha questo lista interessante di consigli di progettazione software, di cui citerò la prima:

Design classes around information, not algorithms or time order. Each class should encapsulate and own particular design decisions or information, so that code outside the class does not need to be aware of them. The biggest mistake that people make is to design classes around time: collect all the things that happen at one point in time into a single class.

Il principio dell'uso delle classi per nascondere le informazioni sembra chiaro e risuona con la mia esperienza. D'altra parte, non sono esattamente sicuro di cosa significhi Ousterhout erroneamente "progettando le classi nel tempo". Se hai una chiara comprensione di questo, puoi forse condividere un esempio istruttivo di una classe mal progettata che "raccoglie solo le cose che accadono ad un certo punto nel tempo" rispetto a una classe ben progettata che protegge i suoi utenti dalla complessità nascondendo informazioni o le decisioni? Non sono proprio sicuro di come sia il primo e se sia davvero in contrasto con quest'ultimo.

    
posta AnatolyVorobey 02.11.2018 - 18:14
fonte

0 risposte

Leggi altre domande sui tag