Ik had laatst een discussie met iemand over wanneer een composite pattern wordt toegepast. Volgens mij wordt die toegepast zodra je meerdere objecten op eenzelfde manier gebruikt of bijna-gelijke objecten op eenzelfde manier gebruikt. Eerlijk moet ik vermelden dat ik gewoon te weinig weet van patterns, maar klopt datgene wat ik zeg? Ik zou graag feedback willen hebben. Tweakers hier op het forum weten meer dan ik ooit zal kunnen weten.
En wat is hier niet duidelijk aan?
Dus wat heb je zelf al gezocht, gevonden en wat is je eigen mening?
We zien hier altijd graag wat eigen inzetWhen to use: You find that you are using multiple objects in the same way, and often have nearly identical code to handle each of them -- the only differences being that you are manipulating an instance of a 'circle' versus a 'square', for instance. Useful if differentiation doesn't need to exist, and it would be easier to think of them as homogeneous. (Of course, you could still provide functionality to manipulate only a single instance -- like selecting an item from a list instead of operating on the whole list.)
[ Voor 7% gewijzigd door RobIII op 04-04-2007 00:27 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij
Eigenlijk wordt het bijna altijd gebruikt (tenminste in die context zie ik dit pattern het meeste) bij een hierarchisch model zoals:
- Een XML model. Alles is in essentie een Node en heeft hence de methode getFirstChild() en zo.
- De JavaServer Faces component tree, waar alles een UIComponent is en bij het renderen alle children mee rendert.
Dus eigenlijk elke boom waarbij elementen een grote overeenkomst hebben en/of je ze op een gelijksoortige manier wilt gebruiken is geschikt voor het composite pattern...
- Een XML model. Alles is in essentie een Node en heeft hence de methode getFirstChild() en zo.
- De JavaServer Faces component tree, waar alles een UIComponent is en bij het renderen alle children mee rendert.
Dus eigenlijk elke boom waarbij elementen een grote overeenkomst hebben en/of je ze op een gelijksoortige manier wilt gebruiken is geschikt voor het composite pattern...
Fat Pizza's pizza, they are big and they are cheezy
Een weggever dat een compostie pattern gebruikt kan worden is als in een OO ontwerp een collectie van X zelf ook de interface van X kan implementeren.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein