Являются ли настраиваемые зависимости разделов конфигурации, которые должны быть введены? - PullRequest
3 голосов
/ 25 февраля 2010

Кроме того, как вписываются строки подключения?

Предположительно, это нормально для dal, чтобы прочитать эти значения из конфигурации, или они должны быть переданы сверху вниз?

Ответы [ 2 ]

3 голосов
/ 25 февраля 2010

Я склонен сказать "да" на это.

Существует несколько причин для инкапсуляции вашей пользовательской конфигурации в класс и последующего внедрения, включая:

  • Testability1 - ваш конфиг может быть легко смоделирован. Любые тестируемые классы, требующие настройки, не требуют, чтобы вы играли с App.Configs просто для того, чтобы тесты работали - вы прекрасно отделены от Microsoft ConfigurationManager
  • Тестируемость2 - сама конфигурация становится тестируемой. Если вы выполняете какую-либо «игру» со значениями (например, превращаете разделенный запятыми список значений в массив) в своем классе конфигурации, вы можете проверить его поведение просто и изолированно.
  • Возможность подкачки - вы можете легко заменить вашего провайдера конфигурации для настройки в коде или настройки из базы данных, поскольку фактическая конфигурация инкапсулирована.

Так что да:)

1 голос
/ 03 марта 2010

Джошуа Фланаган написал об этом несколько месяцев назад.

Он показывает, как пользовательские разделы конфигурации могут обрабатываться как POCO, предоставляемые с помощью инжектора конструктора.

http://www.lostechies.com/blogs/joshuaflanagan/archive/2009/07/12/how-we-handle-application-configuration.aspx

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