Экстремальное программирование. Разработка через тестирование



Download 1,35 Mb.
Pdf ko'rish
bet99/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   95   96   97   98   99   100   101   102   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

30. Шаблоны проектирования 
В чем заключается о сновная ид ея шаблонов? Нам кажется, что мы
по стоянно 
сталкиваемся 
с 
разнообразными, 
неповторяющимися
проблемами, од нако на д еле оказывается, что большая часть проблем,
которые нам приход ится решать, обусловлена используемыми нами
инструментами, но не о сновной зад ачей, которая перед нами стоит
[24 ]
.
Если исход ить из этого пред положения, то можно найти (и мы
д ействительно наход им) общие проблемы со станд артными решениями,
несмотря на все разнообразие контекстов, в рамках которых нам
приход ится работать.
Использование объектов д ля организации вычислений – это од ин из
лучших примеров станд артного решения, направленного на устранение
множества общих проблем, с которыми программистам приход ится
сталкиваться при разработке самого разнообразного программного
обеспечения. Коло ссальный успех шаблонов проектирования (design
patterns) является д оказательством общно сти проблем, с которыми
сталкиваются 
программисты, 
использующие 
объектно-
ориентированные языки программирования
[25]
. Книга 
Design Patterns
(«Паттерны проектирования») имела большой успех, од нако ее
популярно сть 
стала 
причиной 
сужения 
взгляд а 
на 
шаблоны
проектирования. Что я имею в вид у? Книга рассматривает д изайн как
фазу разработки программы, од нако авторы совершенно не учитывают,
что рефакторинг – это мощный инструмент формирования д изайна.
Дизайн в рамках TDD требует несколько иного взгляд а на шаблоны
проектирования.
В д анной главе я расскажу о нескольких полезных шаблонах
проектирования. Безусловно, мое изложение не претенд ует на полноту.
Пред ставленная зд есь информация может оказаться полезной при
изучении рассматриваемых в книге примеров. Вот краткое перечисление
рассмотренных зд есь шаблонов:
• «Команд а» (Command) – обращение к некоторому код у
пред ставляется в вид е объекта, а не в вид е про стого сообщения;
• «Объект-значение» (Value Object) – по сле созд ания объекта его
значение никогд а не меняется, благод аря этому уд ается избежать
проблем, связанных с наложением имен (aliasing);
• «Нуль-объект» (Null Object) – соответствует базовому случаю


вычислений объекта;
• «Шаблонный метод » (Template Method) – пред ставляет собой
инвариантную по след овательно сть операций, опред еляемую при
помощи абстрактных метод ов, которые можно переопред елить с
помощью наслед ования;
• «Встраиваемый объект» (Pluggable Object) – пред ставляет собой
вариацию в вид е объекта с д вумя реализациями или большим их
количеством;
• «Встраиваемый переключатель» (Pluggable Selector) – позволяет
избежать созд ания многочисленных под классов путем д инамического
обращения к различным метод ам д ля различных экземпляров класса;
• «Фабричный метод » (Factory Method) – вместо конструктора д ля
созд ания объекта используется специальный метод ;
• «Самозванец» (Imposter) – пред ставляет собой вариацию путем
созд ания новой реализации существующего протокола;
• «Компоновщик» (Composite) – композиция объектов вед ет себя так
же, как од ин объект;
• «Накапливающий параметр» (Collecting Parameter) – результаты
вычислений, выполняемых в разных объектах, накапливаются в
специальном объекте, который перед ается объектам, выполняющим
вычисления, в качестве параметра.
В табл. 30.1 описывается, на каких этапах TDD используется тот или
иной шаблон проектирования.

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   95   96   97   98   99   100   101   102   ...   140




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