Design Patterns : Elements of Reusable Object-Oriented Software


command object.  Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet60/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   56   57   58   59   60   61   62   63   ...   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., Таҳлил тест
command
object. 


Design Patterns: Elements of Reusable Object-Oriented Software 
74 
Command Class and Subclasses 
First we define a 
Command
abstract class toprovide an interface for issuing a 
request. The basic interfaceconsists of a single abstract operation called 
"Execute." Subclassesof Command implement Execute in different ways to fulfill 
differentrequests. Some subclasses may delegate part or all of the work toother 
objects. Other subclasses may be in a position to fulfillthe request entirely 
on their own (see Figure 2.11).To the requester, however, a Command object is 
a Command object

theyare treated uniformly. 
Figure 2.11: Partial Command class hierarchy 
Now MenuItem can store a Command object that encapsulates arequest (Figure 2.12). 
We give each menu item objectan instance of the Command subclass that's suitable 
for that menuitem, just as we specify the text to appear in the menu item. Whena 
user chooses a particular menu item, the MenuItem simply callsExecute on its 
Command object to carry out the request. Note thatbuttons and other widgets can 
use commands in the same way menuitems do. 


Design Patterns: Elements of Reusable Object-Oriented Software 
75 
Figure 2.12: MenuItem-Command relationship 
Undoability 
Undo/redo is an important capability in interactive applications. Toundo and redo 
commands, we add an Unexecute operation to Command'sinterface. Unexecute reverses 
the effects of a preceding Executeoperation using whatever undo information 
Execute stored. In the caseof a FontCommand, for example, the Execute operation 
would store therange of text affected by the font change along with the 
originalfont(s). FontCommand's Unexecute operation would restore the range oftext 
to its original font(s). 
Sometimes undoability must be determined at run-time. A request tochange the font 
of a selection does nothing if the text alreadyappears in that font. Suppose the 
user selects some text and thenrequests a spurious font change. What should be 
the result of asubsequent undo request? Should a meaningless change cause the 
undorequest to do something equally meaningless? Probably not. If theuser repeats 
the spurious font change several times, he shouldn't haveto perform exactly the 
same number of undo operations to get back tothe last meaningful operation. If 
the net effect of executing acommand was nothing, then there's no need for a 
corresponding undorequest. 
So to determine if a command is undoable, we add an abstractReversible operation 
to the Command interface. Reversible returns aBoolean value. Subclasses can 
redefine this operation to return trueor false based on run-time criteria. 

Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   56   57   58   59   60   61   62   63   ...   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
vaccination certificate
sertifikat ministry
Ishdan maqsad
fanidan mustaqil
matematika fakulteti
o’rta ta’lim
haqida umumiy
fanlar fakulteti
pedagogika universiteti
ishlab chiqarish
moliya instituti
fanining predmeti