Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet138/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   134   135   136   137   138   139   140   141   ...   288
Bog'liq
GOF Design Patterns
Копасов Игорь (1), Т Е Л Е Ф О Н О Г Р А М М А ЗООМ, 20201546 п.80 использ., Oliy matematika, презентация индустрия мутакил иши, 3000 most common words in English, Sun'iy intellekt, 1638511850 AE, 1638511850 AE, Hisob-raqan (Patent boji), O'RQ-600 23-MODDA, Talabaning haftalik hisoboti namunasi , iikinchi hafta amaliyoti., Таҳлил тест
Design Patterns: Elements of Reusable Object-Oriented Software 
195 
Related Patterns 
Often the component-parent link is used for a Chain of Responsibility (251). 
Decorator (196) is often used with Composite. When decorators and composites are 
used together, they will usually have a common parent class. So decorators will 
have to support the Component interface with operations like Add, Remove, and 
GetChild. 
Flyweight (218) lets you share components, but they can no longer refer to their 
parents. 
Iterator (289) can be used to traverse composites. 
Visitor (366) localizes operations and behavior that would otherwise be 
distributed across Composite and Leaf classes. 
2
It's easy to forget to delete the iterator once you're done with it. The Iterator 
pattern shows how to guard against such bugs on page 299. 


Design Patterns: Elements of Reusable Object-Oriented Software 
196 
Decorator 
Intent 
Attach additional responsibilities to an object dynamically. Decorators provide 
a flexible alternative to subclassing for extending functionality. 
Also Known As 
Wrapper 
Motivation 
Sometimes we want to add responsibilities to individual objects, not to an entire 
class. A graphical user interface toolkit, for example, should let you add 
properties like borders or behaviors like scrolling to any user interface 
component. 
One way to add responsibilities is with inheritance. Inheriting a border from 
another class puts a border around every subclass instance. This is inflexible, 
however, because the choice of border is made statically. A client can't control 
how and when to decorate the component with a border. 
A more flexible approach is to enclose the component in another object that adds 
the border. The enclosing object is called a 
decorator
. The decorator conforms 
to the interface of the component it decorates so that its presence is transparent 
to the component's clients. The decorator forwards requests to the component and 
may perform additional actions (such as drawing a border) before or after 
forwarding. Transparency lets you nest decorators recursively, thereby allowing 
an unlimited number of added responsibilities. 



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   134   135   136   137   138   139   140   141   ...   288




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2022
ma'muriyatiga murojaat qiling

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
axborot texnologiyalari
maxsus ta’lim
zbekiston respublikasi
guruh talabasi
O’zbekiston respublikasi
nomidagi toshkent
o’rta maxsus
davlat pedagogika
texnologiyalari universiteti
toshkent axborot
xorazmiy nomidagi
rivojlantirish vazirligi
pedagogika instituti
Ўзбекистон республикаси
tashkil etish
haqida tushuncha
таълим вазирлиги
vazirligi muhammad
O'zbekiston respublikasi
toshkent davlat
махсус таълим
respublikasi axborot
kommunikatsiyalarini rivojlantirish
vazirligi toshkent
saqlash vazirligi
fanidan tayyorlagan
bilan ishlash
Toshkent davlat
sog'liqni saqlash
uzbekistan coronavirus
respublikasi sog'liqni
coronavirus covid
koronavirus covid
vazirligi koronavirus
qarshi emlanganlik
covid vaccination
risida sertifikat
sertifikat ministry
vaccination certificate
Ishdan maqsad
fanidan mustaqil
matematika fakulteti
o’rta ta’lim
haqida umumiy
fanlar fakulteti
pedagogika universiteti
ishlab chiqarish
moliya instituti
fanining predmeti