Che cosa significa accedere internamente agli elementi figli o accedere direttamente al pattern composito?

2

Sto leggendo il libro "schemi di progettazione: elementi di software riutilizzabile orientato agli oggetti e sto cercando di capire il modello composito. Ho bisogno di aiuto per comprendere questo paragrafo nella parte del libro di studio del libro

Glyphs like Row that can have children should use Child internally instead of accessing the child data structure directly. That way you won't have to modify operations like Draw that iterate through the children when you change the data structure from, say, an array to a linked list. Similarly, Parent provides a standard interface to the glyph's parent, if any. Glyphs in Lexi store a reference to their parent, and their Parent operation simply returns this reference.

    
posta level0 01.03.2017 - 15:23
fonte

1 risposta

1

Glyphs like Row that can have children should use Child internally instead of accessing the child data structure directly.

Un pattern composito espone alcune operazioni che, quando chiamate, saranno eseguite sul nodo composito e tutti i sottonodi e tutti i loro sub-nodi, e loro ... si ottiene l'idea. Questo passaggio sta dicendo che il client che utilizza il nodo (chiamando questa operazione) non dovrebbe avere a che fare con i nodi secondari che attraversano. Non dovrebbe nemmeno sapere se ci sono sub-nodi. Dovrebbe solo chiamare l'operazione e aspettarsi che il nodo composito calcoli il resto.

That way you won't have to modify operations like Draw that iterate through the children when you change the data structure from, say, an array to a linked list.

Se il client non esegue il movimento non avrà bisogno di cambiare quando l'attraversamento ha bisogno di cambiare. Questo è importante quando ci sono molti clienti.

Similarly, Parent provides a standard interface to the glyph's parent, if any. Glyphs in Lexi store a reference to their parent, and their Parent operation simply returns this reference.

Il genitore, tuttavia, ti sta facendo conoscere un dettaglio trasversale. Ma almeno è un dettaglio trasversale standardizzato.

    
risposta data 01.03.2017 - 16:19
fonte

Leggi altre domande sui tag