Реализация архитектуры на базе объектно-реляционного отображения с типизированными объектами

Цель работы:

– научиться проектировать архитектуру клиент-серверных приложений;

– научиться разрабатывать системы на примере трёхслойной архитектуры с использованием объектно-реляционного отображения;

– получить навыки работы в Borland Developer Studio 2006;

Введение

6.1.1. Трёхслойная архитектура на базе объектно-реляционного отображения с типизированными объектами

Трехслойная архитектура реализуется на стороне клиента и имеет следующие слои: графический пользовательский интерфейс; бизнес-логика, объектно-реляционное отображение (Рисунок 6.1). Взаимодействие слоёв осуществляется посредством интерфейса и только в одностороннем порядке, т.е. классы верхнего слоя могут посылать сообщения классам нижнего слоя, но не наоборот.

Рисунок 6.1 – Трехслойная архитектура

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

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

Бизнес-логика

Данный слой должен содержать классы, реализующие функциональность по обработке данных и вычислениям. Ниже приведён пример базового (основного) класса, который может создаваться в этом слое.

Назовем этот класс «TDataPrepare». Он должен быть порожден от класса «TDBObject», поскольку должен уметь работать с соединениями и транзакциями. Атрибуты класса представлены в таблице 6.1.

Таблица 6.1

Поля класса TDataPrepare

Название Описание
fExecute: TExecuteObject Объект, используемый для выполнения запросов, не возвращающих набор данных.
fSelect: TExecuteObject; Объект, используемый для выполнения запросов, возвращающих набор данных.

 

Свойства класса представлены в таблице 6.2.

Таблица 6.2

Свойства класса TDataPrepare

Название Описание
DataSource: TDataSource Источник данных, используемый для отображения списка объектов.
id: integer Идентификатор объекта (совпадает с Id записи в таблице базы данных). Используется для хранения идентификатора текущего объекта.

 

Виртуальные методы класса (Таблица 6.3).

Таблица 6.3

Методы класса TDataPrepare