2012-02-20 3 views
0

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

Я смотрю вдоль линий потребителей этого API, чтобы быть в состоянии пойти:

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

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

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

+1

Похоже, вы хотите что-то похожее на шаблон дизайна Unit Of Work: http://msdn.microsoft.com/en-us/magazine/dd882510.aspx – Kane

ответ

0

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

0

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

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

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

Более подробная информацию можно найти here

Смежные вопросы