Каталог паттернов для архитектуры корпоративных приложений (PoEAA)
Эта статья посвящена всем паттернам с каталога для архитектуры корпоративных приложений (Patterns of enterprise application architecture (PoEAA)) по мотивам книги Мартина Фаулера
Domain Logic паттерны
- Transaction Script — способ организации бизнес-логики по процедурам, каждая из которых обслуживаетодин запрос, инициируемый view слоем
- Модель предметной области (Domain Model) — объектно-ориентированный шаблон проектирования. Цель проектирования предметной области – определение бизнес-объектов, которые представляют реальные сущности предметной области. При использовании модели предметной области бизнес-сущности и сущности предметной области включают и поведение, и структуру.
- Table Module — Объект, охватывающий логику обработки всех записей хранимой или виртуальной таблицы базы данных
- Service Layer — Паттерн Service Layer определяет для приложения границу и набор допустимых операций с точки зрения взаимодействующих с ним клиентских компонентов. Он инкапсулирует бизнес-логику приложения, управляя транзакциями и управляя ответами в реализации этих операций.
Data Source Architectural паттерны
Статья по Data Source Architectural паттернам:
- Table Data Gateway (Шлюз к данным таблицы) — объект выступает в качестве шлюза между данными в приложении и в БД. Один объект работает сразу со всеми записями в таблице.
- Row Data Gateway (Шлюз к данным записи) — объект выступает в роли шлюза к отдельной записи в источнике данных. Один экземпляр на одну запись.
- Active Record (Активная запись) — объект, выполняющий роль оболочки для строкитаблицыили представления базыданных. Он инкапсулирует доступ к базе данных и добавляетк даннымлогику домена
- Data Mapper — осуществляет передачу данных между объектами и базой данных, сохраняя последние независимыми друг от друга и от самого mapper'a.
Object-Relational Behavioral паттерны
- Unit of Work — содержит список объектов, охватываемых бизнес-транзакцией, координирует запись изменений в базу данных и разрешает проблемы параллелизма
- Identity Map — гарантирует, что каждый объект будет загружен из базыданных только один раз, сохраняя загруженный объект в специальной коллекции. При получении запроса просматривает коллекцию в поисках нужного объекта
- Lazy Load — объект, который не выгружает все требующиеся данные сразу, однако может загрузить их в случае необходимости.
Object-Relational Structural паттерны
Object-Relational Structural паттерны:
- Identity Field — cохраняет идентификатор записи базы данных для поддержки соответствия между объектом приложения и строкой базы данных.
- Foreign Key Mapping — отображает ассоциации между объектами на ссылки внешнего ключа между таблицами базы данных
- Association Table Mapping — сохраняет множество ассоциаций в виде таблицы, содержащей внешние ключи таблиц, связанных ассоциациями
- Dependent Mapping — передает некоторому классу полномочия по выполнению отображения для дочернего класса
- Embedded Value — отображает объект на несколько полей таблицы, соответствующей другому объекту
- Serialized LOB — сохраняет граф объектов путем их сериализациив единый крупный объект (Large Object — LOB) и помещает его в поле базы данных
- Наследование с одной таблицей (Single Table Inheritance) — представляет иерархию наследования классов в виде одной таблицы, столбцы которой соответствуют всем полям классов, входящих в иерархию
- Наследование с таблицами для каждого класса (Class Table Inheritance) — представляет иерархию наследования классов, используя по одной таблице для каждого класса
- Наследование с таблицами для каждого конкретного класса (Concrete Table Inheritance) — представляет иерархию наследования классов, используя по одной таблице для каждого конкретного класса этой иерархии
- Преобразователи наследования (Inheritance Mappers) — Структура, предназначенная для организации преобразователей, которые работают с иерархиями наследования
Object-Relational Metadata Mapping паттерны
- Metadata Mapping — хранит описание деталей объектно-реляционного отображения в виде метаданных
- Объект запроса (Query Object) — это структура объектов, которая может интерпретироваться в SQL-запрос. Можно создавать такой запрос ссылаясь на классы и поля так же как на таблицы и столбцы. Таким образом создаётся независимость разработчика от струткуры БД и конкретной реализации БД.
- Repository — это посредник между domain слоем и mapping слоем, используя интерфейс, схожий с коллекциями для доступа к объектам области определения.
Web Presentation паттерны
- Model View Controller
- Page Controller
- Front Controller
- Template View
- Transform View
- Two-Step View
- Application Controller
Distribution паттерны
- Remote Facade
- Data Transfer Object
Offline Concurrency паттерны
Подборка Offline Concurrency паттернов
- Optimistic Offline Lock
- Pessimistic Offline Lock
- Coarse Grained Lock
- Implicit Lock
Session State Patterns
Подборка паттернов для хранения состояния сеанса
- Client Session State
- Server Session State
- Database Session State
Base Patterns
- Gateway
- Mapper
- Layer Supertype
- Separated Interface
- Registry
- Value Object
- Money
- Special Case
- Plugin
- Service Stub
- Record Set
Comments:
Please log in
to be able add comments.