Книги по дизайну, управляемому доменом (версия quickly доступна бесплатно здесь) может дать вам представление об этом.
В двух словах, они предлагают следующий подход: объекты модели плавно переходят от уровня модели к уровню представления (это может быть сложно, если вы используете языки со статической типизацией или разные языки на clinet/server, но тривиально на динамических). Кроме того, службы следует использовать только для выполнения действий, которые не относятся к самим объектам модели (или когда у вас есть действие, включающее множество объектов модели).
Кроме того, бизнес-логика должна быть помещена на уровень модели (сущности, службы, объекты значений), чтобы предотвратить знаменитый анемичная модель домена антипаттерн.
Это другой подход. Если это вас устраивает, это во многом зависит от команды, сколько было написано кода, сколько у вас тестового покрытия, какова продолжительность проекта, agile ваша команда или нет и так далее. Проектирование, основанное на предметной области, быстро обсуждает его еще больше, и любое решение будет гораздо менее рискованным, если вы сначала хотя бы пробежитесь по нему (получив оригинальную книгу от Эрика Эванса, вам поможет, если вы решите углубиться).
person
Daniel Ribeiro
schedule
02.06.2009