Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Някои Design Patterns в Java. composite
  1. Composite
  2. CODE
     
Автор  penio (29.08.2004 04:58)  съобщение до автора
Погледнат  3400 пъти  добави към любими
Оценка  добави коментар
Гласове  4  изпрати на приятел
Коментари  (1)  абонирай се за Java
    Страница 1 / 2

 



Composite>


В практиката на всеки програмист често се налага да борави със данни, при които единчните обекти могат да се съединят в дървовидна структура.

Най-общи примери за такива структури са фаиловата система на Windows, в която една папка (folder) може да има файлове и подпапки, или компонентите на един потребителски интерфейс, който се състои от прости елементи като бутони и етикети както и от панели, прозороци и тн.

За да няма нужда за пореден път да откривате колелото докато се чудите как да организирате този тип данни при разработвантео вашите приложения, е измилен моделът на програмиране Composite.

 Composite се харектеризира с това че:
Има един базов (често абстрактен) клас, който служи за основа както на елементарни, така и на сложни(такива , които са съставени от прости) обкети.Този клас се нарича Component.

Всички елементарни обекти са наледници на този клас.

Component има поне един наследник, който да може да приеме някакво множество обекти от базовия клас.Този клас се нарича Container.

С това имаме вече една стабилна основа за изграждане на нашите конкретни структури.Клас-диаграмата на един Composite изглежда ето така:
[IMG SRC="http://www.infobor.de/Composite.gif" border=0]

Обикновено container обекта предлага методи за добавяне, отстраняване и изброяване на елементите си.

Нека разгледаме един пример, в който ще направиме една проста навигация.



  Следваща страница >> 


Ключови думи: javascript програмиране code код script design patterns composite


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Според мен мястото на класа Link в йерархията е на нивото на ImgLink и на LinkGroup. Т.е. трябва ти един базов абстрактен клас (или интерфейс) например Component, който да бъде наследяван от Link, ImgLink и LinkGroup. Целта е да можеш да ползваш композитните класове както елементарните, за това всички те следва да са на едно ниво. А и е добра практика в една йерархия да се създават инстанции само от "листата" в йерархиите, като базовите класове са абстрактни.

Поздрави,
Изида

  Izida на 27.12.2004 10:59

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008