Тупой вопрос касается статического доступа и доступа к базе данных .net - PullRequest
1 голос
/ 03 ноября 2010

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

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

Немного больше информации о том, что я использую.

  1. Я использую Patterns / Practices Enterprise Library 5.0 для блоков доступа к данным (и кеширование и тд).

  2. Мой фактический «бизнес-объект» - это статический класс со статическим методом «getContacts» в свою очередь, возвращает, скажем, строку XML и т. д.

Так что вопрос на самом деле Учитывая приведенную выше структуру, «лучше / эффективнее / эффективнее» использовать статический класс для возврата строки XML - опять же, учитывая, что мне не нужны никакие отношения экземпляра - просто один из «дай мне данные» и оставь .. или более приемлемо использовать базовый класс экземпляра ??

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

Спасибо! Дэвид.

1 Ответ

1 голос
/ 03 ноября 2010

Это совсем не глупый вопрос. Сначала я укажу вам Когда использовать статические классы в C # , так как там много полезных советов.

Использование когда использовать статический метод / класс действительно зависит от дизайна вашего приложения.

Несмотря на это, я бы чувствовал, что для долгосрочного проектирования лучше использовать экземпляры, а не просто статические методы. Если вы когда-нибудь собираетесь использовать какие-либо концепции ОО в своем приложении, статические методы сразу же ограничат вас. Как правило, вы можете создать более гибкую систему, используя экземпляры и т. Д.

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

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

...