Земля.Копайся или Грабить(Корованы)
Признаюсь, не большой знаток компьютерных игр, но по моему, нигде так и не была реализована возможность грабить корованы и даже караваны. Даже в криминальных ГТА или Мафии грабёж подменяется хулигантством, вооружённым нападением ака разбой, террором и прочими статьями УПК США.
Для меня самым сложным пока является определение границ ответственности объектов. Не тех которые являются инфраструктурными и отвечают за чистые программные функции типа логирования, кэширования или авторизации, а тех объектов которые моделируют предметную область.
Причина тому — очень прочный шаблон из реального мира.
Когда я впервые втретил мем Земля.Копайся то добродушно (и самодовольно) посмеялся над незадачливым программистом у которого от ООП уже ум за разум заходит. Но постепенно понял, что сам становлюсь адептом подобного распределения ответственности.
В реальном мире у нас есть Геодезист, Градостроитель, Архитектор, Сроитель, множество подрядчиков и Задача — выкопать яму под фундамент многоэтажки на Андреевском спуске.
Именно эта цепочка приводит нас к Экскаватор:Копатор, Глина:Земля и Экскаватор.Копать(Земля) которая кажется очевидной и логичной.
Но чем мы тут все занимаемся (кроме флуда, фана и написания УФ)?
Мы занимаемся автоматизацией. И первым желаением любого автоматизатора является сокрашение штатного расписания. А значит всё должно делаться само. Не приедит геодезист на булгаковские места, не втянут дорожку градостроитель с архитектором, не загнёт деепричастный оборот в отношении родственников строителей из области могучий прораб и совершенно некому будет понять каким Копатором и какую Землю копать.
А значит Земля сама должна выбрать свой тип в момент создания нашего виртуального мира, должна сама определить границы своей ответственности (точнее мы должны) и сама определить выбор Копатора, когда некоторый божественный объект в виде программы тыцкнет кнопочкой на генплане и правым кликом выберет «Копать фундамент...»
Вообще, моделирование предметной области это самый фан, самый, самый азарт и самая «крутатенюшка» ©. Но прямолинейное моделирование очень часто приводит к попыткам построить систему сравнимую по сложности с самим реальным миром, что очень быстро приводит к измерению дедлайнов в годах, а измерение бюджетов в бюджетах небольших стран.
Но не стоит увлекаться бездумно наделением ответственности всех объектов и иногда логично и правильно Земля.Копайся, а иногда вполне логично Грабить(Корованы).
17 комментариев
Добавить комментарий Подписаться на комментарииОтписаться от комментариев