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

StackOverflow https://stackoverflow.com/questions/273038

  •  07-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top