Научная статья на тему 'ИСПОЛЬЗОВАНИЕ АБСТРАКТНОЙ ФАБРИКИ ПРИ РАЗРАБОТКЕ ВЗАИМОЗАМЕНЯЕМЫХ СИСТЕМ'

ИСПОЛЬЗОВАНИЕ АБСТРАКТНОЙ ФАБРИКИ ПРИ РАЗРАБОТКЕ ВЗАИМОЗАМЕНЯЕМЫХ СИСТЕМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
32
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АБСТРАКТНАЯ ФАБРИКА / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ШАБЛОН / РАЗРАБОТКА / СИСТЕМА / ABSTRACT FACTORY / SOFTWARE / PATTERN / DEVELOPMENT / SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Баранов С.В., Рожков С.А.

В данной статье рассматривается шаблон проектирования абстрактная фабрика. Рассматривается пример её применения, а также случаи её применения и недостатки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USE OF ABSTRACT FACTORY IN DEVELOPMENT OF INTERCHANGEABLE SYSTEMS

This article discusses an abstract factory design pattern. An example of its application is considered, as well as cases of its application and disadvantages.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ АБСТРАКТНОЙ ФАБРИКИ ПРИ РАЗРАБОТКЕ ВЗАИМОЗАМЕНЯЕМЫХ СИСТЕМ»

УДК 004.4

Баранов С.В. студент магистратуры 2 курс, факультет «Информационные и управляющие системы»

Рожков С.А. студент магистратуры 2 курс, факультет «Информационные и управляющие системы»

БГТУ «Военмех» им. Д.Ф. Устинова Россия, г. Санкт-Петербург

ИСПОЛЬЗОВАНИЕ АБСТРАКТНОЙ ФАБРИКИ ПРИ РАЗРАБОТКЕ ВЗАИМОЗАМЕНЯЕМЫХ СИСТЕМ

Аннотация: В данной статье рассматривается шаблон проектирования абстрактная фабрика. Рассматривается пример её применения, а также случаи её применения и недостатки.

Ключевые слова: абстрактная фабрика, программное обеспечение, шаблон, разработка, система.

Baranov S. V. master's student

2 course, faculty «Information and control systems»

Rozhkov S. A. master's student

2 course, faculty «Information and control systems» BSTU "VOENMEH" named after. D. F. Ustinov

Russia, St. Petersburg

USE OF ABSTRACT FACTORY IN DEVELOPMENT OF INTERCHANGEABLE SYSTEMS

Abstract: This article discusses an abstract factory design pattern. An example of its application is considered, as well as cases of its application and disadvantages.

Keywords: abstract factory, software, pattern, development, system.

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

Абстрактная фабрика предоставляет интерфейс для создания семейств взаимосвязанных объектов с определенными интерфейсами без указания конкретных типов данных объектов. Для примера рассмотрим структурную схему абстрактной фабрики для создания некоторой системы, представленную на рисунке ниже.

Application

Рисунок 1 - Структурная схема абстрактной фабрики

Как видно из схемы система состоит из трех структурных элементов:

- Controller - отвечает за работу со всеми элементами управления системы, например, различными кнопками и переключателями;

- GraphicArea - отвечает за графическую составляющую системы, например, построение графиков или отрисовка любой другой информации;

- Configuration - отвечает за загрузку всех параметров системы, включая стартовые положения окон, цветовые схемы и прочее.

В общем случае в системах управление GraphicArea происходит через Controller. Настройки Controller и GraphicArea зависят от Configuration. Все элементы взаимосвязаны.

Абстрактные классы Controller, GraphicArea и Configuration определяют интерфейс для классов, объекты которых будут создаваться в программе. Конкретные классы ControllerSystemaA / ControllerSystemaB, SystemaAGraphicArea / SystemaBGraphicArea и SystemaAConfiguration / SystemaBConfiguration представляют конкретную реализацию абстрактных классов.

Абстрактный класс фабрики Factory определяет методы для создания объектов. Причем методы возвращают абстрактные продукты, а не их конкретные реализации. Конкретные классы фабрик SystemAFactory и SystemBFactory реализуют абстрактные методы базового класса и непосредственно определяют какие конкретные продукты использовать.

Класс Application использует класс фабрики для создания объектов. При этом он использует исключительно абстрактный класс фабрики Factory и абстрактные классы продуктов Controller, GraphicArea и Configuration и никак не зависит от их конкретных реализаций.

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

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

Использованные источники:

1. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. - СПб.: Питер, 2015. - 368 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.