Наличие нескольких логических компонентов доступа к данным по сравнению с одним - PullRequest
0 голосов
/ 05 октября 2009


Скажем, DB имеет три таблицы: Заказчик , Заказ и Продукты . Уровень DAL может использовать только один класс (или один логический компонент доступа к данным) для выполнения операций CRUD над всеми тремя таблицами, или он может использовать три разных класса (или три разных логических компонента):

1) Логический компонент доступа к данным клиента
2) Компонент логики доступа к данным заказа
3) Компоненты логики доступа к данным продуктов


Насколько я могу судить, единственный недостаток наличия трех логических компонентов доступа к данным (таким образом, имеющих три класса) состоит в том, что слою BLL нужно будет создавать (используя отражение) три разных экземпляра класса (на уровне DAL), а не просто один?!


Так, каковы некоторые плюсы и минусы:
а) иметь три логических компонента доступа к данным?
б) иметь только один логический компонент доступа к данным?


1031 * спасибо *

1 Ответ

2 голосов
/ 05 октября 2009

Почти все приложения, которые я видел, используют отдельные классы для каждой таблицы БД. Так обычно работают генераторы кода. Некоторые причины этого: 1. вам нужно только создавать экземпляры объектов для этих таблиц вам нужно получить доступ, который имеет меньший объем памяти (представьте себе БД с 100 таблицами). 2. Код является более модульным, поэтому меньшие части могут редактироваться разными разработчиками одновременно.

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

И, наконец, вам не нужно размышлять, если вы заранее не знаете названия ваших классов БД.

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