Microsoft Word кл программирование на Java 2020 Зорина docx


 Программная реализация паттерна с использованием языка Java



Pdf көрінісі
бет46/65
Дата17.10.2023
өлшемі3,23 Mb.
#117230
түріРеферат
1   ...   42   43   44   45   46   47   48   49   ...   65
Байланысты:
Лекции

5.2 Программная реализация паттерна с использованием языка Java

Участники. 
Имена участников (классы, которые входят в состав паттерна) и описание их 
назначения.

Отношения между участниками.
Описание отношений (взаимодействий) между участниками (классами и/или 
объектами).

Мотивация.
Определение потребности в использовании паттерна. Рассмотрение способов 
применения паттерна.

Применимость паттерна.
Рекомендации по применению паттерна.

Результаты.
Особенности и варианты использования паттерна. Результаты применения.

Реализация.
Описание вариантов и способов реализации паттерна.
Проблема которую нужно решить - пример использования паттерна 
Представьте, что вы создаёте программу управления грузовыми перевозками. 
Сперва вы рассчитываете перевозить товары только на автомобилях. Поэтому весь 
ваш код работает с объектами класса Грузовик. В какой-то момент ваша программа 
становится настолько известной, что морские перевозчики выстраиваются в очередь 
и просят добавить поддержку морской логистики в программу. 
Паттерн Фабричный метод предлагает создавать объекты не напрямую, 
используя оператор new, а через вызов особого фабричного метода. Не пугайтесь, 


96 
объекты всё равно будут создаваться при помощи new, но делать это будет 
фабричный метод. Схема нашей программы приведена на рисунке 5.2. 
Рисунок 5.2 – Программа с применением паттерна 
Участники Паттерна 

Product: 
Определяет интерфейс объектов, которые создает фабричный метод. 

ConcreteProduct: 
Реализует интерфейс продукта 

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

ConcreteCreator: 
Переопределяет фабричный метод для возврата экземпляра ConcreteProduct. 
Продукт определяет общий интерфейс объектов, которые может произвести 
создатель и его подклассы. 
Конкретные продукты содержат код различных продуктов. Продукты будут 
отличаться реализацией, но интерфейс у них будет общий. 


97 
Создатель объявляет фабричный метод, который должен возвращать новые 
объекты продуктов. Важно, чтобы тип результата совпадал с общим интерфейсом 
продуктов. 
Зачастую фабричный метод объявляют абстрактным, чтобы заставить все 
подклассы реализовать его по-своему. Но он может возвращать и некий стандартный 
продукт. 
Конкретные создатели по-своему реализуют фабричный метод, производя те 
или иные конкретные продукты. Фабричный метод не обязан всё время создавать 
новые объекты. Его можно переписать так, чтобы возвращать существующие 
объекты из какого-то хранилища или кэша. 


Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   65




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет