Упрощенный API для доступа к данным - PullRequest
0 голосов
/ 20 февраля 2012

Мы стремимся создать API, который обернет все внутренние взаимодействия между нашей моделью и репозиториями и обеспечит упрощенный способ добавления и обновления объектов в системе.

Я смотрю в том же духе, что и потребители этого API, чтобы иметь возможность:

SystemOder order = SomeClass.GetSystemOrderById("...");
order.amount = 200;
order.InvoiceAddress[0].StreetName = "123 Fake Street";
order.Save();

Теперь за кулисами мы все еще являемся моделью архитектуры хранилища, но для написания чистого бизнесалогика это будет сидеть сверху и скрывать это от конечных потребителей.Есть ли достойные образцы для такой архитектуры?

Просто чтобы пояснить, что мы, очевидно, не хотим запекать методы Save () или модель основной области или что-то в этом роде, мы просто хотим, чтобы хороший API убрал ненужный код, разрешающий коллекции и вызывающие репозитории и т. Д.

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Собираюсь свернуть свой собственный шаблон фасада, который будет инкапсулировать объектную модель и механизмы сохранения Save () Delete и т. Д., Сохраняя при этом хорошее разделение модели / DAL. Это тип вещей, которые миксин был бы чрезвычайно полезен для ... ооо хорошо.

0 голосов
/ 20 февраля 2012

Звучит так, будто вы смотрите на что-то вроде шаблона хранилища.(Вы ссылаетесь на репозитории в своем вопросе, но я думаю, что вы используете термин вместо хранилища данных?)

Цитировать описание Мартина Фаулера.

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

Более подробную информацию можно найти здесь

...