Skip to content

8. Проектирование слоя источников данных (выбор архитектурного шаблона уровня доступа к данным: DB внешний сервис)

AnastasiyaTarasova edited this page Mar 7, 2016 · 1 revision

Для реализации слоя источников данных в качестве паттерна было решено выбрать шаблон Data Mapper так как:

  • Поля объектов бизнес логики совпадают с именами колонок в таблице БД
  • Шаблон Data Mapper хорошо сочетается с шаблоном Domain Model
  • Обмен с Базой Данных будет простым ("считать из таблицы/записать в таблицу")
  • В отличие от Active Record, шаблон Data Mapper позволяет отделить слой доступа к данным от слоя бизнес логики.

Наследование было реализовано с использованием шаблона Single Table Inheritance. Применение этого шаблона оправдано, поскольку только в классах Client, Guide и Admin используется наследование, поля этих классов практически совпадают и могут быть вынесены в один класс: UserTypesEnum. Файлы с классами располагаются в пакете "db".

Clone this wiki locally