Композиција (пројектни узорак) — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке
Autobot (разговор | доприноси)
м Разне исправке
Ред 1:
'''Композиција''' или '''Састав''' ([[Енглески језик|енгл.]] ''-{Composite}-'') је [[Објектно-оријентисано програмирање|објектно-оријентисани]] [[пројектни узорци|пројектни узорак]]. Припада категорији објектних
[[Узорци структуре|узорака структуре]].<ref name="Elements">{{Cite book|last=Johnson |first=Ralph |last2=Gamma |first2=Erich |last3=Vlissides |first3=John |last4=Helm |first4=Richard |title=Design Patterns: Elements of Reusable Object-Oriented Software |year=1995|publisher=Addison-Wesley |id=|pages=163-173}}</ref> Компонује објекте у структуру стабла (хијерархија целина-део) и омогућава клијентима да униформно третирају индивидуалне објекте и њихове композиције.<ref name="Elements"/> То се постиже тиме што се јасно дефинишу делови, док се целине (састави) предастављају као делови, али имају улогу контејнера тих делова.<ref name="w3sDesignReference">{{cite web|title=Composite |url=http://w3sdesign.com/?gr=s03&ugr=proble#gf |website=w3sDesign |accessdate=04. 101. 2019}}</ref>
 
== Честе употребе ==
Састав има велику примену када је потребно представљати хијерархије целина-део, што се постиже формирањем структуре у облику стабла.<ref name="Elements"/><ref name="w3sDesignReference"/><ref name="JavaWorldIDG">{{cite web|title=Composite |url=https://www.javaworld.com/article/2074564/learn-java/a-look-at-the-composite-design-pattern.html |website=JavaWorld from IDG |accessdate=04. 101. 2019}}</ref> Посебно је користан када је потребно да корисници игноришу разлике између целина и делова, односно да их третирају униформно,<ref name="Elements"/> чиме се корисничке класе подједностављују и олакшавају измене, тестирања и надоградње.<ref name="w3sDesignReference"/>
 
== Учесници ==