Какие шаблоны проектирования следует применять в приложении с доступом к базе данных - PullRequest
6 голосов
/ 14 апреля 2011

Я начну разрабатывать приложение, которое имеет доступ к базе данных.Какую область шаблонов проектирования обычно необходимо реализовать, чтобы сделать мое приложение более гибким, например, для изменения клиента БД с SQL на Oracle.

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

Есть ли что-то еще, что я должен знать перед началом работы?

Приложение будет разработано на C #, поэтому есть поддержка наследования объектов и полиморфизма.

Ответы [ 5 ]

9 голосов
/ 14 апреля 2011

Убедитесь, что весь ваш код инкапсулирован в слой доступа к данным.Код против интерфейсов, так что если вам нужно написать новую библиотеку доступа к данным, вам не нужно менять весь вызывающий код.Это как минимум изолирует весь доступ к данным в библиотеке.Насколько вероятно изменение базы данных?Не усложняйте программный комплекс "что-если", так как это только усложнит жизнь.

6 голосов
/ 14 апреля 2011

Абстрагируйте что-то «на лету» и только тогда, когда Вы сможете ясно увидеть выгоду.
В противном случае - это просто трата времени.

Не думай, как:

Я должен использовать шаблон [x], потому что он может исправить [y]

Думай так:

О, дерьмо, снова надо писать то же самое Давайте посмотрим, как мы могли бы избежать этого ...

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

Существует хороший шаблон проектирования под названием Объект доступа к данным , вам придется включить его в C #.

Резюме:

DAO реализует доступ Механизм, необходимый для работы с источник данных. Источник данных может быть постоянный магазин, как СУБД, внешний сервис, такой как биржа B2B, хранилище, такое как база данных LDAP, или бизнес-сервис, доступ к которому осуществляется через CORBA Интернет-протокол ORB (IIOP) или розетки низкого уровня. Бизнес компонент, который опирается на использование DAO более простой интерфейс, представленный DAO для своих клиентов. DAO полностью скрывает источник данных детали реализации из его клиентов. Потому что интерфейс выставлен DAO клиентам не меняет когда основной источник данных изменения реализации, этот шаблон позволяет DAO адаптироваться к различным схемы хранения, не влияя на его клиенты или бизнес-компоненты. По сути, DAO действует как адаптер между компонентом и источник данных.

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

Проверьте Каталог шаблонов архитектуры корпоративных приложений . Автор Martin Fowler.

Вы можете найти там несколько хороших идей.

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

Вы должны исследовать пользователя шаблона отображения данных, чтобы сохранить детали реализации того, как хранятся ваши данные (SQL / Oracele / Access), независимо от использования самих данных.

http://martinfowler.com/eaaCatalog/dataMapper.html

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