Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



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

Design Patterns: Elements of Reusable Object-Oriented Software 
91 
5.
Bridge (171) to allow multiplewindowing platforms
6.
Command (263) for undoable useroperations, 
7.
Iterator (289) for accessing andtraversing object structures, and 
8.
Visitor (366) for allowing anopen-ended number of analytical capabilities 
without complicatingthe document structure's implementation. 
None of these design issues is limited to document editingapplications like Lexi. 
Indeed, most nontrivial applications willhave occasion to use many of these 
patterns, though perhaps to dodifferent things. A financial analysis application 
might useComposite to define investment portfolios made up of subportfolios 
andaccounts of different sorts. A compiler might use the Strategypattern to allow 
different register allocation schemes for differenttarget machines. Applications 
with a graphical user interface willprobably apply at least Decorator and Command 
just as we have here. 
While we've covered several major problems in Lexi's design, thereare lots of 
others we haven't discussed. Then again, this bookdescribes more than just the 
eight patterns we've used here. So asyou study the remaining patterns, think about 
how you might use eachone in Lexi. Or better yet, think about using them in your 
owndesigns! 
1
Lexi's design is based on Doc, a text editingapplication developed byCalder 
[CL92]. 
2
Authors often view the document in terms of its
logical
structure as well, that 
is, in terms of sentences,paragraphs, sections, subsections, and chapters. To 
keep thisexample simple, our internal representation won't store informationabout 
the logical structure explicitly. But the design solution wedescribe works equally 
well for representing such information. 
3
Calder was the first to use the term "glyph" in thiscontext [CL90].Most 
contemporary document editors don't use an object for everycharacter, presumably 
for efficiency reasons. Calder demonstratedthat this approach is feasible in his 
thesis [Cal93]. Our glyphs are lesssophisticated than his in that we have 
restricted ours to stricthierarchies for simplicity. Calder's glyphs can be shared 
to reducestorage costs, thereby forming directed-acyclic graph structures.We can 
apply the Flyweight (218)pattern to get the same effect, but we'll leave that 
as an exercisefor the reader. 
4
The interface we describehere is purposely minimal to keep the discussion simple. 
A completeinterface would include operations for managing graphical 



Download 4,06 Mb.

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