Стоит ли писать группу из 2-х линейных функций в объекте BLL просто для перенаправления в DAL? - PullRequest
2 голосов
/ 07 ноября 2008

Это кажется довольно глупым для меня. Что я не получу?

Ответы [ 4 ]

5 голосов
/ 07 ноября 2008

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

Итак, я говорю, сохраняйте одну строку, но если ваши вставки, обновления и т. Д. По-прежнему состоят из одной или двух строк, вам нужно переосмыслить, где вы проводите проверку и обработку данных бизнес-уровня.

4 голосов
/ 07 ноября 2008

Если ваш BLL никогда не выполняет валидацию или не реализует какую-либо бизнес-логику и всегда остается 2-мя линиями, тогда да, это довольно глупо. Если вы сделаете это, вы, вероятно, упустили момент, когда у вас был уровень бизнес-логики, и вы, вероятно, выполняли проверку в пользовательском интерфейсе или добавляли бизнес-логику в свой пользовательский интерфейс или DAL. Существует очень мало приложений, которые не требуют проверки и не имеют бизнес-логики.

2 голосов
/ 07 ноября 2008

Хотя Роб и Буллинес часто правы в том, что необходимость сделать это указывает на более глубокую проблему, существуют законные случаи, когда переход на уровень доступа к данным имеет смысл. Написание безмозглого метода (или, что еще хуже, целой объектной модели) для обертывания слоя доступа к данным - одна из наименее полезных вещей, которую может сделать любой программист, так что не делайте этого. Вы можете чувствовать себя плохо, не пройдя уровень бизнес-логики, если есть законная причина.

1 голос
/ 07 ноября 2008

Бизнес-логика должна быть в вашем списке. Если в вашем BLL появилось «2 функции лайнера», случайно ли вы поместили эту бизнес-логику в свой DAL или UI?

...