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



Download 1,35 Mb.
Pdf ko'rish
bet13/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   9   10   11   12   13   14   15   16   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

3. Равенство для всех 
Если у меня есть целое число и я прибавляю к нему 1, то не
пред полагаю, что изменится исход ное число, – в результате я ожид аю
получить новое число. Объекты же обычно вед ут себя иначе. К примеру,
если у меня есть контракт и я д обавлю 1 к его сумме, это буд ет означать,
что сумма контракта д олжна измениться (д а, несомненно, это пример
д ля обсужд ения многих интересных законов бизнеса, которые мы зд есь
рассматривать 
не
буд ем).
Мы можем использовать объекты в качестве значений, так же как
используем наш объект Dollar. Соответствующий шаблон называется
«Объект-значение» (Value Object). Од но из ограничений этого шаблона
заключается в том, что значения атрибутов объекта устанавливаются в
конструкторе и никогд а в д альнейшем не изменяются.
Значительное преимущество использования шаблона «Объект-
значение» со стоит в том, что не нужно беспокоиться о проблеме
наложения имен (aliasing). Скажем, у меня есть объект Check,
пред ставляющий собой чек, и я устанавливаю его сумму – $5, а затем
присваиваю эти же $5 сумме д ругого объекта Check. Од на из самых
неприятных проблем на моей памяти заключалась в том, что изменение
суммы в первом объекте может привод ить к непред намеренному
изменению суммы во втором. Это и есть проблема наложения имен.
Используя объекты-значения, не нужно беспокоиться о наложении
имен. Если у меня есть пять д олларов ($5), они всегд а гарантированно
буд ут о ставаться именно пятью д олларами ($5). Если вд руг кому-то
понад обятся $7, прид ется созд ать новый объект.
$5 + 1 °CHF = $10, если курс обмена 2:1
$5 * 2 = $10
Сд елать переменную amount закрытым членом класса
Побочные эффекты в классе Dollar?
Округление д енежных величин?
equals()
Од но из след ствий использования шаблона «Объект-значение»
заключается в том, что все операции д олжны возвращать результаты в
вид е новых объектов, как было покзано в главе 2. Другое след ствие


заключается в том, что объекты-значения д олжны реализовывать метод
equals(), операцию проверки равенства, потому что од ни $5 ничем не
отличаются от д ругих.
$5 + 1 °CHF = $10, если курс обмена 2:1
$5 * 2 = $10
Сд елать переменную «amount» закрытым членом
Побочные эффекты в классе Dollar?
Округление д енежных величин?

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   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