Design Patterns : Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet154/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   150   151   152   153   154   155   156   157   ...   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., Таҳлил тест
FlyweightFactory
o
creates and manages flyweight objects. 
o
ensures that flyweights are shared properly. When a client requests 
a flyweight, the FlyweightFactory object supplies an existing 
instance or creates one, if none exists.

Client
o
maintains a reference to flyweight(s). 
o
computes or stores the extrinsic state of flyweight(s). 
Collaborations 

State that a flyweight needs to function must be characterized as either 
intrinsic or extrinsic. Intrinsic state is stored in the ConcreteFlyweight 


Design Patterns: Elements of Reusable Object-Oriented Software 
223 
object; extrinsic state is stored or computed by Client objects. Clients 
pass this state to the flyweight when they invoke its operations. 

Clients should not instantiate ConcreteFlyweights directly. Clients must 
obtain ConcreteFlyweight objects exclusively from the FlyweightFactory 
object to ensure they are shared properly. 
Consequences 
Flyweights may introduce run-time costs associated with transferring, finding, 
and/or computing extrinsic state, especially if it was formerly stored as intrinsic 
state. However, such costs are offset by space savings, which increase as more 
flyweights are shared. 
Storage savings are a function of several factors: 

the reduction in the total number of instances that comes from sharing 

the amount of intrinsic state per object 

whether extrinsic state is computed or stored. 
The more flyweights are shared, the greater the storage savings. The savings 
increase with the amount of shared state. The greatest savings occur when the 
objects use substantial quantities of both intrinsic and extrinsic state, and 
the extrinsic state can be computed rather than stored. Then you save on storage 
in two ways: Sharing reduces the cost of intrinsic state, and you trade extrinsic 
state for computation time. 
The Flyweight pattern is often combined with the Composite (183) pattern to 
represent a hierarchical structure as a graph with shared leaf nodes. A consequence 
of sharing is that flyweight leaf nodes cannot store a pointer to their parent. 
Rather, the parent pointer is passed to the flyweight as part of its extrinsic 
state. This has a major impact on how the objects in the hierarchy communicate 
with each other. 
Implementation 
Consider the following issues when implementing the Flyweight pattern: 
1.
Removing extrinsic state.
The pattern's applicability is determined 
largely by how easy it is to identify extrinsic state and remove it from 
shared objects. Removing extrinsic state won't help reduce storage costs 
if there are as many different kinds of extrinsic state as there are objects 
before sharing. Ideally, extrinsic state can be computed from a separate 
object structure, one with far smaller storage requirements.



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   150   151   152   153   154   155   156   157   ...   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