A-tit indd


Команда (Command) —  Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet24/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   20   21   22   23   24   25   26   27   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

34
Команда (Command) — 
Паттерны программирования игр
Команда (Command) — реифицированный (reifi ed) 
вызов метода.
Конечно, «краткий» часто означает «непонятный», 
так что стало не сильно лучше. Позвольте мне немно-
го пояснить. Реифицировать (reify), если вы никогда 
не слышали, означает «материализовать, превратить 
в нечто конкретное». Другой подходящий термин —
сделать что-то сущностью «первого класса».
Оба термина означают некое 
понятие
и превраще-
ние его во 
фрагмент данных
— объект, который вы мо-
жете присвоить переменной, передать в функцию и так 
далее. Таким образом, говоря, что паттерн Команда 
(Command) является «материализованным вызовом ме-
тода» (reifi ed method call), я имею в виду, что это вызов 
метода, завернутый в объект.
Это больше похоже на «функцию обратного вызо-
ва» (callback), «функцию первого класса» (fi rst-class 
function), «указатель на функцию» (function pointer), «за-
мыкание» (closure) или «частично применяемая функ-
ция» (partially applied function) в зависимости от того, 
на каком языке программирования вы пишете. Дей-
ствительно все варианты будут близки. «Банда четырех» 
дальше пишет: «Команды — это объектно-ориентиро-
ванная замена для обратных вызовов».
Такое определение намного лучше первого. Но все 
равно абстрактно и туманно. Мне нравится начинать 
главы с чего-то конкретного, но в данном случае у меня 
не вышло. Попытаюсь немного компенсировать свою 
оплошность и приведу примеры, где паттерн Команда 
(Command) идеально подходит.
Настройки управления
В каждой игре где-то есть фрагмент кода, который отве-
чает за считывание пользовательского ввода: нажатия 
кнопок, события клавиатуры, щелчки мыши — что угод-
но. Он берет каждый ввод и преобразует его в осмыслен-
ное действие в игре (рис. 2.1).
Системы рефлексии 
в некоторых языках по-
зволяют вам работать 
с типами прямо 
во время выполнения 
программы. Вы можете 
взять объект, являю-
щийся представителем 
другого класса, и поиг-
раться с ним, чтобы по-
нять, что этот тип умеет. 
Другими словами, ре-
флексия — «реифициро-
ванная» система типов.



Download 3,35 Mb.

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