Design Patterns : Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software



Download 4,06 Mb.
Pdf ko'rish
bet24/288
Sana07.04.2022
Hajmi4,06 Mb.
#535140
1   ...   20   21   22   23   24   25   26   27   ...   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 
30 
are some well-known exceptions [Coo92]); C++ programmers manipulate objects 
through types defined by abstract classes. 
Many of the design patterns depend on this distinction. For example, objects in 
a Chain of Responsibility (251) must have a common type, but usually they don't 
share a common implementation. In the Composite (183) pattern, Component defines 
a common interface, but Composite often defines a common implementation. Command 
(263), Observer (326), State (338), and Strategy (349) are often implemented with 
abstract classes that are pure interfaces. 
Programming to an Interface, not an Implementation 
Class inheritance is basically just a mechanism for extending an application's 
functionality by reusing functionality in parent classes. It lets you define a 
new kind of object rapidly in terms of an old one. It lets you get new implementations 
almost for free, inheriting most of what you need from existing classes. 
However, implementation reuse is only half the story. Inheritance's ability to 
define families of objects with 
identical
interfaces (usually by inheriting from 
an abstract class) is also important. Why? Because polymorphism depends on it. 
When inheritance is used carefully (some will say 
properly
), all classes derived 
from an abstract class will share its interface. This implies that a subclass 
merely adds or overrides operations and does not hide operations of the parent 
class. 
All
subclasses can then respond to the requests in the interface of this 
abstract class, making them all subtypes of the abstract class. 
There are two benefits to manipulating objects solely in terms of the interface 
defined by abstract classes: 
1.
Clients remain unaware of the specific types of objects they use, as long 
as the objects adhere to the interface that clients expect. 
2.
Clients remain unaware of the classes that implement these objects. Clients 
only know about the abstract class(es) defining the interface. 
This so greatly reduces implementation dependencies between subsystems that it 
leads to the following principle of reusable object-oriented design: 
Program to an interface, not an implementation.
Don't declare variables to be instances of particular concrete classes. Instead, 
commit only to an interface defined by an abstract class. You will find this to 
be a common theme of the design patterns in this book. 



Download 4,06 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   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
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