Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet74/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   70   71   72   73   74   75   76   77   ...   288
Bog'liq
GOF Design Patterns

Design Patterns: Elements of Reusable Object-Oriented Software 
93 
Design Pattern Catalog 


Design Patterns: Elements of Reusable Object-Oriented Software 
94 
3.
 
Creational Patterns 
Creational design patterns abstract the instantiation process.They help make a 
system independent of how its objects are created,composed, and represented. A 
class creational pattern uses inheritanceto vary the class that's instantiated, 
whereas an object creationalpattern will delegate instantiation to another object. 
Creational patterns become important as systems evolve to depend moreon object 
composition than class inheritance. As that happens,emphasis shifts away from 
hard-coding a fixed set of behaviors towarddefining a smaller set of fundamental 
behaviors that can be composedinto any number of more complex ones. Thus creating 
objects withparticular behaviors requires more than simply instantiating a class. 
There are two recurring themes in these patterns. First, they allencapsulate 
knowledge about which concrete classes the system uses.Second, they hide how 
instances of these classes are created and puttogether. All the system at large 
knows about the objects is theirinterfaces as defined by abstract classes. 
Consequently, thecreational patterns give you a lot of flexibility in 
what
getscreated, 
who
creates it, 
how
it gets created, and 
when
. They let you configure 
a system with "product" objects thatvary widely in structure and functionality. 
Configuration can bestatic (that is, specified at compile-time) or dynamic 
(atrun-time). 
Sometimes creational patterns are competitors. For example,there are cases when 
either Prototype (133)or Abstract Factory (99) couldbe used profitably. At other 
times they are complementary: Builder (110) can use one of the otherpatterns to 
implement which components get built. Prototype (133) can use Singleton (144) 
in its implementation. 
Because the creational patterns are closely related, we'll study allfive of them 
together to highlight their similarities and differences.We'll also use a common 
example

building a maze for a computergame

to illustrate their implementations. 
The maze and the game willvary slightly from pattern to pattern. Sometimes the 
game will besimply to find your way out of a maze; in that case the player 
willprobably only have a local view of the maze. Sometimes mazes containproblems 
to solve and dangers to overcome, and these games may providea map of the part 
of the maze that has been explored. 
We'll ignore many details of what can be in a maze and whether a mazegame has 
a single or multiple players. Instead, we'll just focus onhow mazes get created. 
We define a maze as a set of rooms. A roomknows its neighbors; possible neighbors 
are another room, a wall, or adoor to another room. 



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   70   71   72   73   74   75   76   77   ...   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