60 likes | 247 Views
Composite. GoF Structural Pattern. Alle kjenner Composite. Alle som har brukt lister organisert som trær i brukermiljøer, kjenner Composite Pattern. Trær som danner helheter. Komponerer objekter i trestrukturer Hierarkier av ” del-helhet ”-strukturer Helheten består av deler
E N D
Composite GoF StructuralPattern
Alle kjenner Composite • Alle som har brukt lister organisert som trær i brukermiljøer, kjenner CompositePattern
Trær som danner helheter • Komponerer objekter i trestrukturer • Hierarkier av ”del-helhet”-strukturer • Helheten består av deler • Meldinger til helheten går videre til delene • Klienten ser helheten (kompositten) • Kompositten tar seg av detaljene • Composite lar klienter behandle individuelleobjekter og sammensettinger på samme måte
Brukes i tegneprogrammer • Bruker ofte abstrakte klasser • Render utføres ulikt fordi objektene av typen Shape varierer i hver subklasse • Render kan også utføres ulikt fordi render omdefineres, som for drawString • Programkode 92 - 96
Brukes i xmlbehandlere • Xml kilde til DOM-trær • Tilsvarer gui-trestrukturer • Svg er xml for graphics • Programkode 76 • Meldinger til figurene • Og elementene • Behandles individuelt
GoFapplicability list • Brukes når vi lager hierarkier av del-helhet-strukturer • Klienter kan være uvitende om forskjellen mellom individuelle objekter og det sammensatte objektet. • Klienter skal behandle og kommunisere med alle objektene på samme måte