|
Composite>
В практиката на всеки програмист често се налага да борави със данни, при които единчните обекти могат да се съединят в дървовидна структура. Най-общи примери за такива структури са фаиловата система на Windows, в която една папка (folder) може да има файлове и подпапки, или компонентите на един потребителски интерфейс, който се състои от прости елементи като бутони и етикети както и от панели, прозороци и тн. За да няма нужда за пореден път да откривате колелото докато се чудите как да организирате този тип данни при разработвантео вашите приложения, е измилен моделът на програмиране Composite. Composite се харектеризира с това че: Има един базов (често абстрактен) клас, който служи за основа както на елементарни, така и на сложни(такива , които са съставени от прости) обкети.Този клас се нарича Component. Всички елементарни обекти са наледници на този клас. Component има поне един наследник, който да може да приеме някакво множество обекти от базовия клас.Този клас се нарича Container. С това имаме вече една стабилна основа за изграждане на нашите конкретни структури.Клас-диаграмата на един Composite изглежда ето така: [IMG SRC="http://www.infobor.de/Composite.gif" border=0] Обикновено container обекта предлага методи за добавяне, отстраняване и изброяване на елементите си. Нека разгледаме един пример, в който ще направиме една проста навигация.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||









