Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet195/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   191   192   193   194   195   196   197   198   ...   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., Таҳлил тест
Design Patterns: Elements of Reusable Object-Oriented Software 
290 
current element to the nextelement, and IsDone tests whether we've advanced beyond 
the lastelement

that is, we're finished with the traversal. 
Separating the traversal mechanism from the List object lets us defineiterators 
for different traversal policies without enumerating them inthe List interface. 
For example, FilteringListIterator might provideaccess only to those elements 
that satisfy specific filteringconstraints. 
Notice that the iterator and the list are coupled, and the client mustknow that 
it is a 
list
that's traversed as opposed to some otheraggregate structure. Hence 
the client commits to a particularaggregate structure. It would be better if we 
could change the aggregateclass without changing client code. We can do this by 
generalizingthe iterator concept to support 
polymorphic iteration

As an example, let's assume that we also have a SkipListimplementation of a list. 
A skiplist [Pug90] is aprobabilistic data structure with characteristics similar 
to balancedtrees. We want to be able to write code that works for both List 
andSkipList objects. 
We define an AbstractList class that provides a common interfacefor manipulating 
lists. Similarly, we need an abstract Iteratorclass that defines a common iteration 
interface. Then we can defineconcrete Iterator subclasses for the different list 
implementations.As a result, the iteration mechanism becomes independent of 
concreteaggregate classes. 
The remaining problem is how to create the iterator. Since we want towrite code 
that's independent of the concrete List subclasses, wecannot simply instantiate 
a specific class. Instead, we make the listobjects responsible for creating their 



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   191   192   193   194   195   196   197   198   ...   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