A-tit indd



Download 3,35 Mb.
Pdf ko'rish
bet193/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   189   190   191   192   193   194   195   196   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

Архитектурные решения
Паттерн Объект типа (Type Object) позволяет построить 
систему типов так, будто мы разрабатываем собствен-
ный язык программирования. Пространство для творче-
ства достаточно много, и мы можем делать практически 
все, что пожелаем.


Паттерны программирования игр
— Паттерны поведения
263
На практике фантазию все же ограничивают несколь-
ко вещей. Мы явно не станем создавать что-то очень 
сложное, требующее много сил и времени. Но куда важ-
нее другое: какую бы систему типов мы ни создавали, 
она должна быть понятна пользователям, а они чаще 
всего не программисты. И чем проще мы сделаем систе-
му типов, тем удобнее будет она в использовании.
Объект типа инкапсулированный или 
общедоступный?
В нашей реализации 
Monster
содержит ссылку на род, 
но он не объявляет ее публично. Внешний код не может 
получить прямой доступ к роду монстра. С точки зрения 
кода у монстров вообще нет типов, а то, что по факту он 
у них есть, — детали реализации.
Мы можем изменить это и позволить экземплярам 
класса 
Monster
возвращать 
Breed
:
class Monster
{
public:
Breed& getBreed() {return breed_;}
// 6 …
};
Таким образом мы изменили дизайн монстра. Теперь 
то, что все монстры имеют род, — видимая часть API. 
Преимущества есть у обоих вариантов.
• Если объект типа инкапсулирован
• Сложность паттерна Объект типа (Type Object) 
скрыта от остальной части кода.
Это становится 
деталью реализации, за которую отвечает только 
сам типизированный объект.
• Типизированный объект может выборочно пере-
определить поведение, получаемое от объекта 
типа
. Предположим, нам необходимо изменить 
Как и в еще одном при-
мере этой книги, мы сле-
дуем правилу: ссылку 
следует возвращать 
на объект, а не на указа-
тель, чтобы сделать не-
возможным возвраще-
ние 
NULL
.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   189   190   191   192   193   194   195   196   ...   313




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