Вы находитесь на странице: 1из 3

Министерство Образования Республики Молдова

Технический Университет Молдовы


Факультет Вычислительной Техники, Информатики и Микроэлектроники
Кафедра Автоматики и Информационных Технологий

Отчёт
по лабораторной работе №4
по дисциплине «IPP»
Тема: «Поведенческие паттерны»

Выполнил: студент гр.

Проверил:

Кишинев 2013
Тема: Стереотипы UML

Цели работы:
- изучение поведенческих паттернов;

Задание:
Смоделировать систему содержащую в себе 5 видов структурных
паттернов.

PriceForCookie

Template Chain

Payment Charity
SecondCooker
FirstCooker
UseTemplate

ConcreteStrategy

Iterator Context
Strategy

ConcreteStrategy2

Рисунок 1. Поведенческие паттерны

Для демонстрации необходимости применения паттернов приведем к


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

Composite

ConcreteComponent
Leaf

Рисунок 2.Совмещение паттерна Компоновщик и Декоратор.


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

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

Оценить