Бизнес-объекты, созданные непосредственно из запроса к базе данных - PullRequest
0 голосов
/ 15 июля 2010

... Как это называется?

Более детально: Для своего приложения я создал хорошую бизнес-модель для работы с объектами в памяти.Это хранение и просмотр агностика.Теперь для уровня хранения есть база данных: я буду создавать SQL-запросы (чем меньше, тем лучше), которые выбирают / объединяют и т. Д. Все необходимые мне данные из соответствующих таблиц.Своего рода «средний уровень» берет результат запроса (-ов) и создает бизнес-объекты со всеми отношениями.

Вопросы: Как называется этот подход?Каковы лучшие практики?

Это происходит в проекте .NET C #, но это не относится к данному вопросу проектирования.

(я нашел вопрос 441532 очень похожим, но мне интереснов более конструктивном вводе)

Примечание: я не использую подход ORM , основанный на инструментах, которые делают это автоматически , поскольку приложению требуются только выбранные данные из сравнительно большой базы данных.

Ответы [ 3 ]

1 голос
/ 15 июля 2010

Я думаю, это называется ORM или объектно-реляционное отображение.

NHibernate является одним из примеров именно такой вещи.

0 голосов
/ 15 июля 2010

Существуют разные инструменты ORM.Linq to SQL делает 1: 1, а это не то, что вам нужно.

То, о чем вы говорите, перекрывается с Проектом, управляемым доменом , где ваш дизайн определяется доменом, а неБаза данных.

В этом случае, если вы используете реляционную базу данных, вам все еще требуется ORM, а ORM, такие как Entity Framework и NHibernate, позволяют гибко «привязывать» ваши сущности к вашей базе данных любым удобным для вас способом.таким образом, что если ваша база данных должна измениться по какой-либо причине, или вы должны изменить сущности по какой-либо причине, все, что вам нужно изменить, - это средний «отображающий» слой.

взгляните на свободный nhibernate

0 голосов
/ 15 июля 2010

Обычно это называется DDD - доменно-управляемый дизайн.

https://stackoverflow.com/questions/tagged/ddd

https://stackoverflow.com/questions/tagged/domain-driven-design

...