zdorg.ru

cup Вход на сайт    cup Регистрация cup Календарь cup Лучшие новости cup Облако тегов cup Наш опрос cup Друзья Мир чужих эмоций » C010 » Роль стереотипов

Роль стереотипов

Когда госпожа Wirfs-Brock написала про роли стереотипов при разработке объектно-ориентированного кода, на меня это достаточно сильно повлияло, и с тех пор я всегда стараюсь при программировании проецировать код на вещи реальной жизни, задавая себе вопрос: "А реально ли это?". Это очень часто приводит меня к тому, что код не отвечает тем стереотипам, которые нас окружают.

"Ну и че?", -- спросите вы.

А это, скажу я вам, очень херово, когда вы классу "Пылесос" присабачиваете метод "Мести" или "Мыть посуду".

Так вот. Недавно я заметил, что можно инвертировать процесс программирования стереотипами. То есть мы не смотрим на наш код и не ищем соответствий в нем с реальными жизненными процессами. Мы берем и пишем код, который сразу отвечает за реальный жизненный (бизнес) процесс, причем настолько прямо, насколько это возможно.

Например, я долго думал как можно красиво зарулить процесс инкассации в одном из наших проектов. Сам процесс мы стали называть инкассационным сценираем, так как там для инкассатора был перечень последовательных дествий, описанных на бумажке. Все получалось херово, модель путалась с представлением и код сильно вонял...

Разрешилось все очень просто:

EncashmetnScenario encashmetnScenario = new EncashmetnScenario();
encashmetnScenario.Play();

:)

В методе Play() как раз и реализованы пункты в инструкции, но на данном этапе этот метод содержит в себе не объектный код, а больше событийный, что мне не очень нравится. Это, конечно же поправимо.

Нужно было просто по правильному назвать класс и метод и логика начала выправляться сама собой. Действуя в контексте сценария инкассации я начал по настоящему понимать суть проблемы и наметился реальный пусть красивого решения. Причем если убрать все скобри, точки-запятые, равенства и прочие синтаксические конструкции языка программирования, то мы получим реальное и осмысленное описание запрограммированного нами процесса на английском языке.
Теги: сильный, понимать, реальный, большой. Добавил: Greblo92 (19-03-2011, 09:22).
 (голосов: 0)
cup Другие новости :

zdorg.ru 2011 - 2012