Дизайн бизнес-объекта

У меня есть вопрос о том, как я настраиваю свои BO.

Я настраиваю BO так, чтобы он содержал все мои свойства объекта, а также бизнес-логику, удовлетворяющую бизнес-правилам. Я решил сделать все методы статическими, но не уверен, что это правильное решение. Кто-то сказал мне разделить мой BO на Entity Object только со свойствами, а затем BO только на методы, которые выполняют бизнес-правила и не делают методы статическими.

У кого-нибудь есть опыт в том, как я это настроил? Есть ли примеры того, как это может работать лучше для будущего роста?

Спасибо!


person Dan H    schedule 12.05.2010    source источник


Ответы (1)


Прежде всего, сделайте свое приложение многоуровневым.

Во-вторых, если вы используете ООП, не делайте свои методы статическими, когда в этом нет необходимости. Данные и поведение идут рука об руку, поэтому методы, работающие с данными экземпляра или с ними, никогда не должны быть статичными. (Я предполагаю, что вы используете «традиционный» объектно-ориентированный язык, такой как Java/C#.)

Затем вы можете выбрать, хотите ли вы использовать богатую модель предметной области или хотите использовать более легкую ("анемичный") скрипты транзакций.

Эта статья о дизайне, ориентированном на предметную область, может представлять интерес.

person eljenso    schedule 12.05.2010