Вход на сайт Регистрация
Календарь
Лучшие новости
Облако тегов
Наш опрос
Друзья
|
Мир чужих эмоций » C010 » Роль стереотиповРоль стереотиповКогда госпожа Wirfs-Brock написала про роли стереотипов при разработке объектно-ориентированного кода, на меня это достаточно сильно повлияло, и с тех пор я всегда стараюсь при программировании проецировать код на вещи реальной жизни, задавая себе вопрос: "А реально ли это?". Это очень часто приводит меня к тому, что код не отвечает тем стереотипам, которые нас окружают. "Ну и че?", -- спросите вы. А это, скажу я вам, очень херово, когда вы классу "Пылесос" присабачиваете метод "Мести" или "Мыть посуду". Так вот. Недавно я заметил, что можно инвертировать процесс программирования стереотипами. То есть мы не смотрим на наш код и не ищем соответствий в нем с реальными жизненными процессами. Мы берем и пишем код, который сразу отвечает за реальный жизненный (бизнес) процесс, причем настолько прямо, насколько это возможно. Например, я долго думал как можно красиво зарулить процесс инкассации в одном из наших проектов. Сам процесс мы стали называть инкассационным сценираем, так как там для инкассатора был перечень последовательных дествий, описанных на бумажке. Все получалось херово, модель путалась с представлением и код сильно вонял... Разрешилось все очень просто: EncashmetnScenario encashmetnScenario = new EncashmetnScenario(); encashmetnScenario.Play(); :) В методе Play() как раз и реализованы пункты в инструкции, но на данном этапе этот метод содержит в себе не объектный код, а больше событийный, что мне не очень нравится. Это, конечно же поправимо. Нужно было просто по правильному назвать класс и метод и логика начала выправляться сама собой. Действуя в контексте сценария инкассации я начал по настоящему понимать суть проблемы и наметился реальный пусть красивого решения. Причем если убрать все скобри, точки-запятые, равенства и прочие синтаксические конструкции языка программирования, то мы получим реальное и осмысленное описание запрограммированного нами процесса на английском языке. Другие новости :
|

