Первичная оценка была такая, что топик набрал порядка -15 за полчаса. Я думаю, что если бы я оставил его до утра, то моя хабрасила была бы в глубокой яме.
Я тоже могу поделиться своим опытом. Оказывается, популярность постов зависит от времени суток, притом неожиданным образом. В своё время я написал пост habrahabr.ru/blogs/study/60113/#habracut и опубликовал его в 22.00. Пост начал быстро уходит в минус. Я его закрыл и создал новый пост с таким же содержанием в 10.00 следующего дня. В тексте, названиях и тегах не было абсолютно никаких изменений. И что вы думаете? Пост набрал очень хорошую оценку.
Я думаю, что если бы рабочая сила не потребовалась, то черные жители все равно потянулись бы туда. В крайнем случае воровали бы. Люди тянутся туда, где есть деньги и нажива. Так устроен мир.
Меня смутила следующая фраза у вас в топике: «первые два шаблона более привлекательны в начале работы с предметной областью». Т. е. вы предлагаете начать проект с Transaction script, а затем перейти к Domain Model?
Тут стоит понимать, что подход нужно выбрать с самого начала проекта. Если повнимательней почитаете Фаулера, то увидите, что он как раз это и объясняет.
Мне кажется, что код, с несколькими точками выхода, который имеет 2 уровня вложенности читается и сапровождается намного проще, чем код с одной точкой выхода и четырьмя уровнями вложенности.
Не надо слепо верить словам Дейкстры (это правило придумал именно он), хотя, на вкус, как известно, все фломастеры… ну вы знаете.
Я читал не только классиков 60-х 70-х, но и современных классиков. Так вот Фаулер в «Рефакторинге» утверждает, что правило единственного выхода из функции нужно забыть как ошибку прошлого.
Мир не стоит на месте, поэтому, читайте современные книги.
Тут стоит понимать, что подход нужно выбрать с самого начала проекта. Если повнимательней почитаете Фаулера, то увидите, что он как раз это и объясняет.
Не надо слепо верить словам Дейкстры (это правило придумал именно он), хотя, на вкус, как известно, все фломастеры… ну вы знаете.
А запись
else
bazzz();
ещё хуже, чем
else bazzz();
Как-то долго втыкал в кусок кода примерно следующего вида (линия между строк важна):
if(somethin)
a();
b();
c();
Долго не мог понять, почему выполняется b(), а a() при этом не отрабатывает.
Мир не стоит на месте, поэтому, читайте современные книги.
Т.е. вы заплатите, к примеру, 10 000$ за машину и ещё 100 000$ уйдет на налог.