проверка постоянных невежественных доменных объектов - PullRequest
0 голосов
/ 02 февраля 2011

Я хочу знать, как проверить, находится ли Доменный объект в правильном состоянии при сохранении.Если у объекта есть постоянная информация - это понятно, например, я могу проверить сумму заказа в его методе Save.Однако постоянные невежественные объекты не имеют метода Save.У них просто есть данные и поведение.Стоит ли полагаться на точность разработчиков или мне нужно как-то проверить все диаграммы сущностей перед сохранением в базе данных?

1 Ответ

1 голос
/ 02 февраля 2011

Возможно, я вас не правильно понимаю.

Я не уверен, как вы получаете "невежественный" объект. Кажется, это противоречит основному принципу инкапсуляции. Единственный способ изменить состояние объекта должен быть через его интерфейс. Интерфейс несет ответственность за правильность обновлений состояния. Так что, к вашему примеру, вам не нужно проверять сумму в операции save() (при условии, что здесь «сохранить» означает сохранение). Это должно быть обновлено как следствие, например, вызов addProduct() (или что-то подобное - т.е. добавление товара к сумме обновления заказа).

Является ли объект постоянным или временным, не имеет значения - он должен всегда инкапсулировать обновление состояния через свой интерфейс.

Надеюсь, что это поможет - извинения, если я неправильно понял.

...