Design Patterns : Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet54/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   50   51   52   53   54   55   56   57   ...   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., Таҳлил тест
Responsibility
 
Operations
 
window management
virtual void Redraw() 
virtual void Raise() 
virtual void Lower() 
virtual void Iconify() 
virtual void Deiconify() 
...
graphics
virtual void DrawLine(...) 
virtual void DrawRect(...) 
virtual voi
d DrawPolygon(...)
virtual void DrawText(...) 
...
Table 2.3: Window class interface 
Window is an abstract class. Concrete subclasses of Window support thedifferent 
kinds of windows that users deal with. For example,application windows, icons, 
and warning dialogs are all windows, butthey have somewhat different behaviors. 
So we can define subclasseslike ApplicationWindow, IconWindow, and DialogWindow 
to capture thesedifferences. The resulting class hierarchy gives applications 


Design Patterns: Elements of Reusable Object-Oriented Software 
67 
likeLexi a uniform and intuitive windowing abstraction, one that doesn'tdepend 
on any particular vendor's window system: 
Now that we've defined a window interface for Lexi to work with,where does the 
real platform-specific window come in? If we're notimplementing our own window 
system, then at some point our windowabstraction must be implemented in terms 
of what the target windowsystem provides. So where does that implementation live? 
One approach is to implement multiple versions of the Window class andits 
subclasses, one version for each windowing platform. We'd have tochoose the version 
to use when we build Lexi for a given platform.But imagine the maintenance headaches 
we'd have keeping track ofmultiple classes, all named "Window" but each implemented 
on adifferent window system. Alternatively, we could 
createimplementation-specific subclasses of each class in the Windowhierarchy

and 
end up with another subclass explosion problem like the onewe had trying to add 
embellishments. Both of these alternatives haveanother drawback: Neither gives 
us the flexibility to change thewindow system we use after we've compiled the 
program. So we'll haveto keep several different executables around as well. 
Neither alternative is very appealing, but what else can we do? Thesame thing 
we did for formatting and embellishment, namely, 
encapsulate the concept that 
varies
. What varies in this case is thewindow system implementation. If we 
encapsulate a window system'sfunctionality in an object, then we can implement 
our Window class andsubclasses in terms of that object's interface. Moreover, 
if thatinterface can serve all the window systems we're interested in, thenwe 
won't have to change Window or any of its subclasses to supportdifferent window 
systems. We can configure window objects to thewindow system we want simply by 



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   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
risida sertifikat
covid vaccination
qarshi emlanganlik
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