Содержание
- 2. Что такое паттерны (шаблоны) проектирования? Эффективные способы решения характерных задач проектирования Обобщенное описание решения задачи, которое
- 3. Польза Каждый паттерн описывает решение целого класса проблем Каждый паттерн имеет известное имя облегчается взаимодействие между
- 4. Порождающие паттерны
- 5. Порождающие паттерны проектирования Абстрагируют процесс инстанцирования объектов Список паттернов Абстрактная фабрика (Abstract Factory) Строитель (Builder) Фабричный
- 6. Abstract Factory (Абстрактная фабрика)
- 7. Назначение паттерна «Абстрактная фабрика» Предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их
- 8. Паттерн «Абстрактная фабрика» Шаблон проектирования, позволяющий изменять поведение системы, варьируя создаваемые объекты, при этом сохраняя интерфейсы
- 9. Реализация паттерна Паттерн «Абстрактная фабрика» реализуется созданием абстрактного класса Factory, который представляет собой интерфейс для создания
- 10. Применение паттерна Используйте паттерн, когда Система не должна зависеть от того, как создаются, компонуются и представляются
- 11. Структура Объявляет интерфейс для операций, создающих абстрактные объекты-продукты Реализует операции, создающие конкретные объекты-продукты; Объявляет интерфейс для
- 12. Пример использования При разработке приложений с графическим интерфейсом пользователя необходимо создавать различные элементы управления Кнопки, текстовые
- 13. Иерархия классов CButton CWindowsButton CMacOSXButton CRadioButton CWindowsRadioButton CMacOSXRadioButton CCheckBox CWindowsCheckBox CMacOSXCheckBox
- 14. Абстрактные и конкретные элементы управления class CButton { public: virtual ~CButton(){} //... }; class CWindowsButton :
- 15. Абстрактная и конкретные фабрики class CUIFactory { public: virtual CButton* CreateButton()const=0; virtual CCheckBox* CreateCheckBox()const=0; }; class
- 16. Преимущества использования паттерна «Абстрактная фабрика» Изоляция конкретных классов продуктов Фабрика изолирует клиента от деталей реализации классов
- 17. Недостатки паттерна «Абстрактная фабрика» Трудность поддержания новых типов продуктов Интерфейс абстрактной фабрики фиксирует набор продуктов, которые
- 18. Пример – фабрика, создающая элементы игрового поля enum ItemType { WALL, WATER, FOREST, SAND, }; class
- 19. Builder (Строитель)
- 20. Назначение паттерна «Строитель» Отделяет конструирование сложного объекта от его представления, так что в результате одного и
- 21. Область применения паттерна «Строитель» Алгоритм создания сложного объекта не должен зависеть от того, из каких частей
- 22. Структура Задает абстрактный интерфейс для частей объекта Product Реализует интерфейс Builder, конструирует и собирает вместе части
- 23. Отношения между участниками паттерна Клиент создает новый объект «Распорядитель» (Director) и конфигурирует его новым объектом-строителем Builder
- 24. Достоинства паттерна «Строитель» Позволяет изменять внутреннее представление продукта Распорядителю предоставляется абстрактный интерфейс Строителя, скрывающего структуру продукта
- 25. Пример использования В редакторе форматированного текстового документа необходимо реализовать возможность преобразования его в различные форматы Plain
- 26. Иерархия классов Распорядитель Продукты Строитель
- 27. Реализация сущности «Строитель» class CTextConverter { public: virtual void ConvertText (std::string const& s){} virtual void ConvertFontChange
- 28. Реализация сущности «Распорядитель» class CFormattedTextReader { public: void Read(CFormattedText const& text, CTextConverter & converter) { for
- 29. Реализация клиента void ConvertToPDF(CFormattedText const& text, std::string const& outputFile) { // создаем строителя CPDFConverter converter; //
- 30. Factory Method (Фабричный метод)
- 31. Назначение паттерна «Фабричный метод» Определяет интерфейс для создания объекта, но оставляет подклассам решение о том, какой
- 32. Структура Определяет интерфейс объектов, создаваемых фабричным методом Реализует интерфейс Product Объявляет фабричный метод, возвращающий объект типа
- 33. Отношения между участниками паттерна Создатель «полагается» на свои подклассы в определении фабричного метода, который будет возвращать
- 34. Применимость Классу заранее неизвестно, объекты каких классов ему нужно создавать Класс спроектирован так, чтобы объекты, которые
- 35. Пример использования Каркас приложения, позволяющего пользователю работать с различными типами документов Основные абстракции в таком каркасе
- 36. Иерархия классов
- 37. Абстрактные реализации сущностей «Product» и «Creator» // Абстрактный Продукт class CDocument { public: virtual ~CDocument(){} virtual
- 38. Конкретные реализации сущностей «Product» и «Creator» // конкретный продукт class CMyDocument : public CDocument { public:
- 40. Скачать презентацию





































Зажги звёзды
Компания Soul4di, розничная сеть по торговле молодежной одежды, обуви и аксессуаров. Логотип
Презентация на тему Летят перелетные птицы...
Восточные походы Александра Македонского
Порядок и особенности производства дознания в сокращенной форме Выполнила: Салчак Айлан, группа Ю-113б
ЗАО «Парад» ЗАО «Парад» - это производитель специальных строительных материалов, в т. ч. системы «Пенетрат». Более 15 лет успешной ра
ЦЕНЫ И АССОРТИМЕНТ МУКА ПШЕНИЧНАЯ ВЫСШИЙ СОРТ «ЕДИМ ДОМА» 2 КГ МУКА ПШЕНИЧНАЯ СОРТА ЭКСТРА «ЕДИМ ДОМА» 2 КГ МУКА РЖАНАЯ «ЕДИМ ДОМА» 1
Изотопы
Пейзаж. Работы детей фотостудий
Моббинг
1.Закончи определение «Экономика – это … »
Управление человеческими ресурсами
Викторина по летнему чтению 6 класс
Производство Кросс. Современное производство систем трубопроводов
rt_japan
Псалом 107. Святорусский текст, вечнозаветная псалтирь
Фастфуд KFC. Проведение roll out’ы по новым продуктам. Тест Смоки Томато для всех сотрудников
Читательская конференция по повести Г. Троепольского «Белый Бим Черное Ухо»
Идеи сохранения здоровья в Исламе
Край мой Бутурлинский
Международное право (международная защита прав человека в условиях мирного и военного времени)
Сервировка стола к обеду
Приготовление полуфабрикатов из картофеля, овощей и грибов
Cerkiew domowa
Особенности истории информатики
Рациональные числа
Воздушные шары
20170623_proekt_s_knigoy_po_miru