Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet153/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   149   150   151   152   153   154   155   156   ...   288
Bog'liq
GOF Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software 
221 
Applicability 
The Flyweight pattern's effectiveness depends heavily on how and where it's used. 
Apply the Flyweight pattern when 
all
of the following are true: 

An application uses a large number of objects. 

Storage costs are high because of the sheer quantity of objects. 

Most object state can be made extrinsic. 

Many groups of objects may be replaced by relatively few shared objects 
once extrinsic state is removed. 

The application doesn't depend on object identity. Since flyweight objects 
may be shared, identity tests will return true for conceptually distinct 
objects. 
Structure 
The following object diagram shows how flyweights are shared: 


Design Patterns: Elements of Reusable Object-Oriented Software 
222 
Participants 

Flyweight
o
declares an interface through which flyweights can receive and act 
on extrinsic state. 

ConcreteFlyweight
(Character) 
o
implements the Flyweight interface and adds storage for intrinsic 
state, if any. A ConcreteFlyweight object must be sharable. Any state 
it stores must be intrinsic; that is, it must be independent of the 
ConcreteFlyweight object's context. 

UnsharedConcreteFlyweight
(Row, Column) 
o
not all Flyweight subclasses need to be shared. The Flyweight 
interface 
enables
sharing; it doesn't enforce it. It's common for 
UnsharedConcreteFlyweight objects to have ConcreteFlyweight 
objects as children at some level in the flyweight object structure 
(as the Row and Column classes have). 


Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   149   150   151   152   153   154   155   156   ...   288




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish