Статический метод на уровне доступа к данным - PullRequest
4 голосов
/ 10 апреля 2011

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

public static DataTable GetClientNames()
{
    return CommonDAL.GetDataTable("....");
}

Но я обнаружил, что некоторым разработчикам не нравится идея статического метода внутри DAL. Мне просто нужна причина, чтобы использовать или не использовать статические методы внутри DAL.

Спасибо

Tony

Ответы [ 3 ]

3 голосов
/ 10 апреля 2011

С точки зрения пуристов, это нарушает все виды лучших практик (например, зависимость от реализации, тесная связь, непрозрачные зависимости и т. Д.). Я бы сказал это сам, но в последнее время я стремлюсь к более простым решениям, не вдаваясь в подробности «энтерпризей» функций и модных слов. Поэтому, если с вами все в порядке, вы пишете такой код, если эта архитектура обеспечивает быструю разработку, является тестируемой и, что наиболее важно, решает вашу бизнес-задачу - это просто прекрасно.

1 голос
/ 10 апреля 2011

Если бы мне пришлось выбрать одну из причин не использовать статические методы, это ограничило бы вашу способность писать модульные тесты для вашего кода.Например, создание макетов для вашего DAL будет более трудным, потому что нет фактического интерфейса для кода, а просто набор статических методов.Это дополнительно ограничивает вас, если / когда вы решите принять платформы, которые требуют интерфейсов для поддержки таких вещей, как IoC, внедрение зависимостей и т. Д.

0 голосов
/ 10 апреля 2011

Это Unit of Work, просто статично, не правда ли?

...