2016-02-19 5 views
-2

Я пытаюсь разглядеть общие шаблоны для абстракции базы данных.Какие шаблоны абстракции базы данных существуют?

До сих пор я нашел:

  1. Database Layer
    • просто отдельный класс, который содержит SQL
    • не соответствует никаким другим правилам
  2. Доступ к данным Объект (DAO)
    • , как и выше, но есть объект передачи, который представляет столбцы таблицы базы данных.
    • методы создания, удаления, обновления принимают заполненный объект передачи в качестве входных данных
    • методы поиска могут принимать входные данные, такие как строка (findByName) или целое число (findByAge), но всегда возвращают списки передачи объектов
  3. Repository
    • абстракция коллекции объектов
    • ближе к модели предметной области
    • мне нужно прочитать больше здесь
  4. Object Relational Mapper
    • инструмент, который дает мне объект, который преобразуется в таблицу базы данных в фоновом режиме
    • объект представляет собой строку в таблице
    • изменение свойства объекта приводит к обновлению

Пожалуйста, не беспокойтесь о моих быстрых объяснениях шаблонов. Я все еще в стадии понимания.

Но этот список завершен или есть другие понятия, которые здесь отсутствуют?

+1

Привет, Дейв, я только что заказал книгу. Спасибо за ваш совет. – samba2

ответ

2

Martin Fowler's "Patterns of Enterprise Application Architecture" - замечательная книга, хорошо зарекомендовавшая себя в сообществе, которая содержит около пятидесяти шаблонов дизайна, около половины из которых связаны с взаимодействием с базами данных. Он включает в себя репозиторий, несколько видов DAO (более или менее охватывающий ваш уровень базы данных и DAO) и несколько целых категорий шаблонов, найденных в объектно-реляционных картографах. Так что есть хорошее место для начала.

Трудно суммировать содержимое POEAA в этом ответе, не просто повторяя список шаблонов. К счастью, the list can be found at Fowler's web site. К сожалению, авторский знак там говорит о том, что я не должен просто включать его здесь.

+2

Я получил эту книгу на этой неделе. Это именно то, что я искал, и, как и все книги Фаулера, которые я изучил, мне интересно читать. Tnx снова за эту хорошую рекомендацию. – samba2