Разрабатываемая ИКС службы видеонаблюдения может использовать хранимые данные в любой момент. Причем, для возможности более гибкой поддержки системы, необходимо реализовать возможность смены источника данных.
Следовательно, проблема состоит в том, чтобы создать такой компонент системы, который бы предоставлял механизмы интеграции приложения с набором различных систем хранения данных и при этом обеспечивал прозрачность использования фактического хранилища или реализации источника данных и легкую миграцию приложения для различных систем хранения данных, различных типов хранения, и различных типов источника данных.
Решением данной проблемы есть использование шаблона объектов доступа к данным (DAO), которые будут инкапсулировать весь доступ к источнику данных и управлять соединением с источником данных для получения и хранения данных.
В таком случае логика работы сервиса будет ориентирована на использование объектов DAO. Также данный шаблон полностью скрывает детали реализации источника данных от своих клиентов. Поскольку интерфейс, представленный слоем DAO клиентам, не изменяется, когда базовая реализация источника данных изменяется, реализация DAO позволяет адаптироваться к различным схемам хранения, не влияя на компоненты бизнес-логики.
Так как планируется использование нескольких типов хранилищ данных, в связи с чем повышается вероятность частой миграции приложения для различных реализаций данных хранилищ, то шаблон DAO следует быть сделать очень гибким, применив паттерн проектирования AbstractFactory.
В данном случае нужно создать основную фабрику DAO, являющуюся абстрактным классом, который наследован и реализован различными конкретными фабриками DAO, чтобы поддерживать специфичную реализацию для доступа к данным. Компонент бизнес-логики сможет получить конкретную реализацию фабрики DAO, и использовать его, чтобы получить компоненты DAO, которые работают с той определенной реализацией хранилища.
Данный класс абстрактной фабрики должен содержать описания методов, которые в последующем будут реализованы, конкретными фабриками, а также метод для получения конкретной реализации доступа к данным.
Класс абстрактной фабрики слоя доступа к данным, описывает общие функциональные особенности разновидности применяемого шаблона. Предоставляет всем классам-наследникам обобщенные методы, которые необходимо реализовать для расширения функциональности описанной в нем.
Класс предоставляет статическое свойство фабрики, производящей экземпляры классов DAO, как классам бизнес-логики (для выполнения базовых операций доступа к данным) так и другим и классами слоя доступа к данным при необходимости применения дополнительного экземпляра класса DAO в реализации другого экземпляра DAO при создании сложных механизмов обращения к данным. Диаграмма классов DAO представлена на рисунке 3.1.
Рисунок 3.1 - Диаграмма классов DAO ИКС службы видеонаблюдения
Расчет токовой защиты нулевой последовательности
Задание
и исходные данные
Произвести
расчет дистанционной защиты линии и начертить карту селективности дистанционных
защит.
Исходные
данные:
...
Оборудование аудио и видео
Сейчас
весь мир пользуется множеством различных устройств, в разных сферах индустрии.
Прогресс не стоит на месте, каждый год, месяц появляются различны ...
Проектирование генераторного триода дециметрового диапазона
Генераторные
лампы предназначены для генерирования и усиления электрических колебаний низких
и высоких частот. По роду работы генераторные лампы можно разде ...