Должен ли я построить обертку вокруг этой сущности? - PullRequest
0 голосов
/ 17 декабря 2009

У меня есть следующий макет:

Объекты:

Order
OrderItem

Классы DAO:

OrderDAO
OrderItemDAO

Итак, у меня есть классы POCO и классы DAO.

Теперь я хочу инкапсулировать вышеуказанные сущности в другую сущность, чтобы у меня были такие методы:

x.AddItem(OrderItem item)
x.CalculateTotal();
x.CalculateShipping();
x.Charge();

Как бы назвали этот тип сущности? Фабрика? Или просто простой класс-обёртка?

Ответы [ 3 ]

2 голосов
/ 18 декабря 2009

Обычно я делю свою кодовую базу на несколько уровней: уровень моделирования, уровень доступа к данным, уровень менеджера / бизнес-логики и пользовательский интерфейс

В этом случае я бы предложил оставить POCO Order / OrderItem и создать класс OrderManager. Это будет одноэлементный файл без сохранения состояния, имеющий методы, такие как AddItem (Order, OrderItem). Внутренне это будет касаться особенностей обновления моделей, фиксации изменений данных, любых транзакций и т. Д.

1 голос
/ 18 декабря 2009

Это определенно не будет фабрика (хотя это может быть объект, который создает вашу "объединенную" сущность, хотя). Возможно, обертка, да. Но почему бы не сделать так, чтобы сущность Order управляла своими OrderItem напрямую, создавая отношения между ними?

0 голосов
/ 18 декабря 2009

Для меня это больше похоже на Фасад. Скрыть фактическую реализацию акта выполнения этих различных процессов. Или, с точки зрения непрофессионала, обертка будет правильной.

Смотрите здесь: http://en.wikipedia.org/wiki/Facade_pattern

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...