Содержание
- 2. Предлагается следующая общая классификация паттернов по категориям их применения: Архитектурные паттерны Паттерны проектирования Паттерны анализа Паттерны
- 3. Признаки плохого кода дублирование кода; длинный метод; большой класс; длинный список параметров; классы данных; несгруппированные данные.
- 4. Причины возникновения плохого кода Частые изменения в требованиях, противоречащие исходной архитектуре; недостаточно времени сделать работу качественно;
- 5. Настоящие причины возникновения плохого кода Непрофессионализм Лень
- 6. Закон Леблана «Потом равносильно никогда»
- 7. Чистый код «Я люблю, чтобы мой код был элегантным и эффективным. Логика должна быть достаточно прямолинейной,
- 8. Приемы чистого кода Именование переменных; правильная работа с функциями; комментирование кода; форматирование; обработка ошибок; тестирование.
- 9. Объектно-ориентированное проектирование Проектирование объектно-ориентированных программ – нелегкое дело, а если их нужно использовать повторно, то все
- 10. Правильный дизайн Правильный дизайн – это гибкий и пригодный для повторного использования дизайн. Он должен, с
- 11. Паттерны проектирования Паттерн проектирования — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого
- 12. Что такое паттерны (шаблоны) проектирования? Эффективные способы решения характерных задач проектирования Обобщенное описание решения задачи, которое
- 13. Польза Каждый паттерн описывает решение целого класса проблем Каждый паттерн имеет известное имя облегчается взаимодействие между
- 14. Шаблоны проектирования В проектировании ПО часто встречаются проблемы, которые уже решались ранее в других проектах. В
- 15. В этом случае разработчикам могут помочь, программные шаблоны, включая архитектурные шаблоны и шаблоны проектирования. Они позволяют
- 16. Понятие шаблона (pattern) впервые было предложено Christopher Alexander для разработки архитектуры зданий и описаны в его
- 17. Понятие паттерна (шаблона) При ООП решения описываются в терминах объектов и интерфейсов, а не стен и
- 18. Классификация паттернов Порождающие (Creational) Структурные (Structural) Поведенческие (Behavioral)
- 20. 1. Порождающие паттерны Порождающие паттерны проектирования абстрагируют процесс создания объектов класса. Они помогают сделать систему независимой
- 21. 1.1. Паттерн Abstract Factory (Абстрактная фабрика) Название паттерна Abstract Factory / Абстрактная фабрика другие названия: Toolkit
- 22. Когда следует испрользовать паттерн Abstract Factory система не должна зависеть от того, как в ней создаются
- 23. Пример – игра «Супер Ралли» (гонка на автомобилях) Одно из требований: игрок должен иметь возможность выбирать
- 24. Предлагаемая реализации Создается интерфейс ФабрикаСоставляющих – предназначен для создания конкретных классов (фабрик), которые будут создавать семейства
- 25. Диаграмма классов
- 26. Клиентский код, который «собирает» автомобиль из деталей, использует интерфейсную ссылку ФабрикаСоставляющих, методы данного интерфейса возвращают ссылки
- 27. Общая структура паттерна Abstract Factory
- 28. Участники паттерна Abstract Factory Интерфейс AbstractFactory — абстрактная фабрика Предоставляет общий интерфейс для создания семейства продуктов.
- 29. Отношения между участниками Клиент знает только о существовании абстрактной фабрики и абстрактных продуктов. Для создания семейства
- 30. Достоинства использования паттерна Позволяет изолировать конкретные классы продуктов. Клиент знает о существовании только абстрактных продуктов, что
- 31. Недостаток использовани паттерна Трудно поддерживать новые виды продуктов, которые содержат, другой состав компонент. Для добавления нового
- 32. Практический пример использования паттерна Задача – разработать ПО для магазина компьютерной техники. Одно из требований –
- 33. Допустим, что программа должна создавать шаблоны типичных конфигураций двух типов: домашняя конфигурация; офисная конфигурация. Для всех
- 34. Класс персонального компьютера Рс Класс, представляющий конфигурацию системного блока: public class Pc { public Box Box
- 35. Интерфейс фабрики создания конфигурации системного блока Ответственность за их создание заданной конфигурации надо возложить на один
- 36. Для создания компонентов конфигураций определяем классы конкретных фабрик HomePcFactory OfficePcFactory. В каждом из create-методов этих классов
- 37. Класс HomePcFactory Фабрика для создания "домашней" конфигурации системного блока ПК public class HomePcFactory : IPcFactory {
- 38. Класс OfficePcFactory Фабрика для создания "офисной" конфигурации системного блока ПК public class OfficePcFactory : IPcFactory {
- 39. Класс PcConfigurator Ответственен за создание объекта типа Рс выбранного типа public class PcConfigurator { public IPcFactory
- 40. Полная диаграмма классов
- 41. Класс PcConfigurator принимает экземпляр конкретной фабрики и с помощью её методов создает составляющие персонального компьютера. PcConfigurator
- 42. Выводы Шаблон Фабрика – это мощный инструмент. Она может оказаться ценным инструментом, обеспечивающим согласование с принципом
- 43. Вывод Применяйте паттерны проектирования
- 44. Заблуждение №1 Паттерны гарантируют возможность повторного использования программного обеспечения, повышение производительности, отсутствие разногласий и т.д.
- 45. Заблуждение №2 Паттерны предоставляют готовые архитектурные решения
- 47. Скачать презентацию