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



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

Таблица 30.1.
Использование шаблонов проектирования при
разработке через тестирование (TDD)


Команда (Command)
Что д елать, если выполнение некоторой операции пред ставляет
собой нечто более сложное, чем про стое обращение к метод у? Созд айте
объект, соответствующий этой операции, и обратитесь к этому объекту.
Перед ача 
сообщений 
– 
это 
отличный 
механизм. 
Языки
программирования д елают перед ачу сообщений синтаксически про стым
д ействием, а сред ы разработки позволяют с легко стью манипулировать
сообщениями (например, автоматическое выполнение рефакторинга по
переименованию метод а). Од нако в некоторых случаях про стой
перед ачи сообщения нед о статочно.
Например, пред ставьте, что вы хотели бы занести в журнал запись о
том, что сообщение было перед ано. Для этой цели можно
во спользоваться сред ствами языка (например, метод ы-обертки), од нако
про стые операции журналирования – это д алеко не все, в чем вы можете
нужд аться. Пред ставьте, что мы хотим вызвать некоторую процед уру,
но несколько позд нее. Для этой цели можно созд ать новый
программный поток, сразу же прио становить его работу, а затем, когд а
это потребуется, запустить его. Од нако в под обной ситуации нам
прид ется иметь д ело с параллельными потоками, а это может оказаться
слишком тяжеловесным под ход ом.
Для выполнения операций с под обными д ополнительными
условиями зачастую требуются сложные затратные механизмы. Од нако в
большинстве случаев мы можем избежать излишней сложно сти и
лишних затрат. Проблему вызова можно решить с помощью более


конкретной и гибкой формы, чем сообщение. Для этого д о статочно
созд ать специальный объект. Созд айте объект, пред ставляющий собой
вызов операции. Занесите в этот объект все необход имые параметры
операции. Когд а операция готова к выполнению, используйте д ля этого
универсальный протокол, например метод run().
Отличным примером использования д анного под ход а является
интерфейс Runnable языка Java:
Runnable
interface Runnable
public abstract void run();
В рамках реализации метод а run() вы можете д елать все, что вам
нравится. К сожалению, Java не под д ерживает синтаксически
легковесного спо соба созд ания объектов Runnable и обращения к этим
объектам, поэтому они не используются так часто, как их эквиваленты в
д ругих языках (блоки или лямбд а-выражения в Smalltalk/Ruby или LISP).

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   ...   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