Разделы сайта

Диаграмма классов модуля доступа к данным ИКС службы видеонаблюдения

Разрабатываемая ИКС службы видеонаблюдения может использовать хранимые данные в любой момент. Причем, для возможности более гибкой поддержки системы, необходимо реализовать возможность смены источника данных.

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

Решением данной проблемы есть использование шаблона объектов доступа к данным (DAO), которые будут инкапсулировать весь доступ к источнику данных и управлять соединением с источником данных для получения и хранения данных.

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

Так как планируется использование нескольких типов хранилищ данных, в связи с чем повышается вероятность частой миграции приложения для различных реализаций данных хранилищ, то шаблон DAO следует быть сделать очень гибким, применив паттерн проектирования AbstractFactory.

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

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

Класс абстрактной фабрики слоя доступа к данным, описывает общие функциональные особенности разновидности применяемого шаблона. Предоставляет всем классам-наследникам обобщенные методы, которые необходимо реализовать для расширения функциональности описанной в нем.

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

Рисунок 3.1 - Диаграмма классов DAO ИКС службы видеонаблюдения

Интересное из раздела

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

Устройство оперативной памяти статического типа емкостью 12 Кб для микропроцессора Intel 8080
Одним из ведущих направлений развития современной микроэлектронной элементной базы являются большие интегральные микросхемы памяти, которые служат основой д ...

Расчет спектра и энергетических характеристик сигнала
В последнее десятилетие ХХ века произошла научно-техническая революция в области транспортной связи, в основе которой лежат два крупных достижения науки сер ...