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

МИНИСТЕРСТВО ПРОСВЕЩЕНИЯ, КУЛЬТУРЫ И ИССЛЕДОВАНИЯ

РЕСПУБЛИКИ МОЛДОВА
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ МОЛДОВЫ
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ, ИНФОРМАТИКИ И
МИКРОЭЛЕКТРОНИКИ
ДЕПАРТАМЕНТ ИНЖЕНЕРИИ SOFTWARE И АВТОМАТИКИ

ОТЧЕТ
По лабораторной работе №1
по дисциплине «ИПП»
Тема: Порождающие шаблоны программирования

Выполнил: ст. гр. TI-142 Зверкова К.

Проверила: Костюк И.

Кишинев 2018
Цель лабораторной работы

Реализовать пять порождающих шаблонов в одной программе.

Теория

Порождающие шаблоны (англ. Creational patterns) — шаблоны проектирования, которые


абстрагируют процесс инстанцирования. Они позволяют сделать систему независимой от
способа создания, композиции и представления объектов.

Абстрактная фабрика (англ. Abstract factory) — порождающий шаблон проектирования,


предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых
объектов, не специфицируя их конкретных классов. Шаблон реализуется созданием
абстрактного класса Factory, который представляет собой интерфейс для создания
компонентов системы (например, для оконного интерфейса он может создавать окна и
кнопки). Затем пишутся классы, реализующие этот интерфейс.

Строитель (англ. Builder) — порождающий шаблон проектирования предоставляет способ


создания составного объекта. Отделяет конструирование сложного объекта от его
представления так, что в результате одного и того же процесса конструирования могут
получаться разные представления.

Фабричный метод (англ. Factory Method также известен как Виртуальный конструктор
(англ. Virtual Constructor)) — порождающий шаблон проектирования, предоставляющий
подклассам (дочерним классам) интерфейс для создания экземпляров некоторого класса. В
момент создания наследники могут определить, какой класс создавать. Иными словами,
данный шаблон делегирует создание объектов наследникам родительского класса. Это
позволяет использовать в коде программы не специфические классы, а манипулировать
абстрактными объектами на более высоком уровне.

Прототип, (англ. Prototype) — порождающий шаблон проектирования. Задаёт виды


создаваемых объектов с помощью экземпляра-прототипа и создаёт новые объекты путём
копирования этого прототипа. Он позволяет уйти от реализации и позволяет следовать
принципу «программирование через интерфейсы». В качестве возвращающего типа
указывается интерфейс/абстрактный класс на вершине иерархии, а классы-наследники могут
подставить туда наследника, реализующего этот тип.
Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий, что
в однопроцессном приложении будет единственный экземпляр некоторого класса, и
предоставляющий глобальную точку доступа к этому экземпляру.

Ход работы

В процессе лабораторной работы были реализованы пять порождающих шаблонов


программирования, а именно Builder (Рисунок 1), Abstract Factory (Рисунок 2), Factory Method
(Рисунок 3), Prototype (Рисунок 4), Singleton (Рисунок 5).

Рисунок 1 – Builder
Рисунок 2 – Abstract Factory

Рисунок 3 – Factory Method


Рисунок 4 – Prototype

Рисунок 5 – Singleton
Результат работы программы:
Ссылка на репозиторий: https://github.com/KseniaZv/IPP
Вывод:
В данной лабораторной работе были реализованы пять порождающих шаблонов
программирования, которые отвечают за удобное и безопасное создание новых объектов
или даже целых семейств объектов. Порождающие паттерны проектирования
предназначены для создания объектов, позволяя системе оставаться независимой как от
самого процесса порождения, так и от типов порождаемых объектов. Знания, полученные в
процессе выполнения данной лабораторной работы, будут полезны в процессе
проектирования и программирования информационных систем.