Почему слой BLL должен использовать перегрузки методов вместо отдельных методов с отдельными именами ... разве не должно быть наоборот? - PullRequest
0 голосов
/ 30 сентября 2009


Я не понимаю, почему использование перегрузок методов (на уровне BLL) предпочтительнее, чем использование отдельных методов с отдельными именами.

Например, если у нашего веб-приложения есть методы уровня DAL GetAllArticles, GetArticlesByCategory, GetPublishedArticles и GetPublishedArticlesByCategory для извлечения статей из БД, то на уровне BLL рекомендуется использовать GetArticles ( ) перегружает для вызова всех вышеперечисленных методов DAL.

a) Но почему для использования GetArticles предпочтительнее перегрузки, чем для использования (на уровне BLL) GetAllArticles, GetArticlesByCategory, GetPublishedArticles и GetPublishedArticlesByCategory (эти методы вызовут DAL's GetAllArticles, GetArticlesByCategory, GetPublishedArticles и GetPublishedArticlesByCategory , соответственно)?


А именно, я понимаю, что бизнес-объекты предназначены для абстрагирования схемы базы данных и делают ее более понятной для человека. Но, насколько я понимаю, если бы я был разработчиком пользовательского интерфейса, мне было бы намного легче, если бы у слоя BLL были методы GetAllArticles, GetArticlesByCategory, GetPublishedArticles и GetPublishedArticlesByCategory вместо того, чтобы BLL имел GetArticles перегрузок, поскольку, просто взглянув на название метода, я бы точно знал, что он делает! Таким образом, не являются ли методы с индивидуальными именами более близкими к человеческому мышлению, чем перегрузки - это именно то, что должна обеспечивать DLL


b) Так же, как и перегрузки GetArticles , которые должны быть более интуитивными, чем GetAllArticles, GetArticlesByCategory, GetPublishedArticles и GetPublishedArticlesByCategory ?!


1041 * спасибо *

1 Ответ

0 голосов
/ 14 июля 2014

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

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