Презентация Введение в паттерны проектирования. (Занятие 13) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Введение в паттерны проектирования. (Занятие 13) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 51 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Введение в паттерны проектирования. (Занятие 13)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:51 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:0.99 MB
- Просмотров:79
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
Содержание слайда: Повторное использование кода
Использование кода
существующих приложений
для создания новых приложений
Принципы создания хорошего
повторно используемого кода
Модульность (modularity)
Слабая связность (low coupling)
Высокая сфокусированность (high cohesion)
Сокрытие информации (information hiding)
Разделение ответственности (separation of concerns)
Примеры повторного использования
«Копипаста» (copy-and-paste)
Библиотеки (software libraries)
Паттерны проектирования (design patterns)
Фреймворки (software frameworks)
№4 слайд
Содержание слайда: Механизмы повторного использования в ООП
Наследование
Повторное использование родительского типа и/или реализации
Определяется статически
Нарушает инкапсуляцию
Композиция
Повторное использование кода используемых классов
Определяется динамически
Решение представляет собой совокупность взаимодействующих объектов и может быть изменено путём замены объекта
Шаблоны
Повторное использование реализации с частичным нарушением типа
Определяется статически
Типы и объекты требуют спецификации типов-параметров
№6 слайд
Содержание слайда: Рекомендации по написанию повторно-используемого кода
Программируйте в соответствии
с интерфейсом, а не реализацией
Не объявляйте переменные как экземпляры конкретных классов. Вместо этого придерживайтесь интерфейса, определенного абстрактным типом
Создавая в системе объекты конкретных классов, используйте порождающие паттерны проектирования
№7 слайд
Содержание слайда: Причины перепроектирования
При создании объекта явно указывается класс
Зависимость от конкретных операций
Зависимость от аппаратной и программной платформ
Зависимость от представления или реализации объекта
Зависимость от алгоритмов
Сильная связанность
Расширение функциональности за счет порождения подклассов
№8 слайд
Содержание слайда: Фреймворки
Фреймворк (Framework, каркас) – это набор взаимодействующих классов, составляющих повторно используемое проектное решение для конкретного класса программ
Диктует определенную структуру приложения или модуля
Определяет общую структуру,
ее разделение на классы
и объекты, основные
функции тех и других,
методы взаимодействия
потоков и классов, потоки
управления
№9 слайд
Содержание слайда: Паттерны проектирования
Паттерн проектирования
(Design Pattern,
образец проектирования,
шаблон проектирования) –
описание взаимодействия
объектов и классов,
адаптированных для решения
общей задачи проектирования
в конкретном контексте
Паттерн проектирования
именует, абстрагирует
и идентифицирует ключевые
аспекты структуры общего
решения, которые и позволяют
применить его для создания
повторно используемого
проектного решения
№12 слайд
Содержание слайда: Описания паттернов
GoF
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software
POSA1
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad (1996). Pattern-Oriented Software Architecture, Volume 1: A System of Patterns
POSA2
Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann (2000). Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects
PoEAA
Martin Fowler (2002). Patterns of Enterprise Application Architecture
…
№14 слайд
Содержание слайда: Singleton
Название и классификация
Одиночка – паттерн, порождающий объекты
Назначение
Гарантирует, что у класса есть только один
экземпляр, и предоставляет к нему
глобальную точку доступа
Применимость
Должен быть ровно один экземпляр некоторого класса, легко доступный всем клиентам
Единственный экземпляр должен расширяться путем порождения подклассов, и клиентам нужно иметь возможность работать с расширенным экземпляром без модификации своего кода
№16 слайд
Содержание слайда: Factory Method
Название и классификация
Фабричный метод – паттерн, порождающий объекты
Назначение
Определяет интерфейс для создания объекта, но оставляет подклассам решение о том, какой класс инстанцировать. Фабричный метод позволяет классу делегировать инстанцирование в подклассы
Известен также под именем
Virtual Constructor
№18 слайд
Содержание слайда: Factory Method
Применимость
Используйте паттерн фабричный метод, когда:
классу заранее неизвестно, объекты каких классов ему нужно создавать
класс спроектирован так, чтобы объекты, которые он создает, специфицировались подклассами
класс делегирует свои обязанности одному из нескольких вспомогательных подклассов, и вы планируете локализовать знание о том, какой класс принимает эти обязанности на себя
№22 слайд
Содержание слайда: Adapter
Название и классификация
Адаптер – паттерн, структурирующий классы и объекты
Назначение
Преобразует интерфейс одного класса в интерфейс другого, который ожидают
клиенты. Адаптер обеспечивает
совместную работу классов
с несовместимыми интерфейсами,
которая без него была бы невозможна
Известен также под именем
Wrapper
№23 слайд
Содержание слайда: Adapter
Применимость
Применяйте адаптер классов, когда:
хотите использовать существующий класс, но его интерфейс не соответствует вашим потребностям
собираетесь создать повторно используемый класс, который должен взаимодействовать с заранее неизвестными или не связанными с ним классами, имеющими несовместимые интерфейсы
Применяйте адаптер объектов, когда
нужно использовать несколько существующих подклассов, но непрактично адаптировать их интерфейсы путем порождения новых подклассов от каждого. В этом случае адаптер объектов может приспосабливать интерфейс их общего родительского класса
№28 слайд
Содержание слайда: Decorator
Применимость
Используйте паттерн декоратор:
для динамического, прозрачного для клиентов добавления обязанностей объектам
для реализации обязанностей, которые могут быть сняты с объекта
когда расширение путем порождения подклассов по каким-то причинам неудобно или невозможно
№30 слайд
Содержание слайда: Decorator
Особенности
Большая гибкость, чем у статического наследования
Создание цепочек декораторов, в том числе из одних и тех же в одной цепочке
Позволяет избежать перегруженных функциями классов на верхних уровнях иерархии
Декоратор и его компонент не идентичны
Множество мелких объектов
№35 слайд
Содержание слайда: Proxy
Применимость
Умная ссылка
замена обычного указателя:
подсчет числа ссылок на реальный объект
загрузка объекта в память при первом обращении к нему
проверка и установка блокировки на реальный объект при обращении к нему, чтобы никакой другой объект не смог в это время изменить его
№41 слайд
Содержание слайда: Iterator
Применимость
Используйте итератор:
Для доступа к содержимому агрегированных объектов без раскрытия их внутреннего представления
Для поддержки нескольких активных обходов одного и того же агрегированного объекта
Для предоставления единообразного интерфейса с целью обхода различных агрегированных структур (для поддержки полиморфной итерации)
№43 слайд
Содержание слайда: Iterator
Особенности
Поддерживает различные виды обхода агрегата
Итераторы упрощают интерфейс класса-агрегата
Одновременно для данного агрегата может быть активно несколько обходов
Реализация
Какой участник управляет итерацией?
Внутренний
Внешний
Насколько итератор устойчив?
Дополнительные операции итератора
№44 слайд
Содержание слайда: Observer
Название и классификация
Наблюдатель – паттерн поведения
объектов
Назначение
Определяет зависимость типа
“один ко многим” между объектами
таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом и автоматически обновляются
Известен также под именем
Dependents, Publish-Subscribe, Listener
№45 слайд
Содержание слайда: Observer
Применимость
Когда у абстракции есть два аспекта, один из которых зависит от другого. Инкапсуляции этих аспектов в разные объекты позволяют изменять и повторно использовать их независимо.
Когда при модификации одного объекта требуется изменить другие и вы не знаете, сколько именно объектов нужно изменить.
Когда один объект должен оповещать других, не делая предположений об уведомляемых объектах. Другими словами, вы не хотите, чтобы объекты были тесно связаны между собой.
№51 слайд
Содержание слайда: Дополнительные источники
Гамма, Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования [Текст] / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. – СПб. : Питер, 2007. – 366 с.
Фримен, Э. Паттерны проектирования [Текст] / Эрик Фримен, Элизабет Робсон, Берт Бейтс, Кэти Сьерра. – СПб. : Питер, 2011. – 656 с.
Обзор паттернов проектирования [Электронный ресурс]. – Режим доступа: http://citforum.ru/SE/project/pattern/index.shtml, дата доступа: 21.10.2011.
Объектно-ориентированное проектирование, паттерны проектирования (шаблоны) [Электронный ресурс]. – Режим доступа: http://www.javenue.info/themes/ood/, дата доступа: 21.10.2011.
Обзор паттернов проектирования [Электронный ресурс]. – Режим доступа: http://www.firststeps.ru/theory/patt/pattern1.html, дата доступа: 21.10.2011.
Скачать все slide презентации Введение в паттерны проектирования. (Занятие 13) одним архивом:
-
Введение в CSS. Блочная верстка. . Занятие 2
-
Введение. Проектирование и разработка веб-сервисов
-
Типовые решения проектирования. Порождающие паттерны
-
Введение в паттерны
-
Введение в проектирование по предметной области (DDD)
-
Паттерны проектирования (Design patterns)
-
Паттерны проектирования: Шаблонный метод
-
Паттерны Шаблоны проектирования
-
Применение паттерна MVVM, как оптимального при проектировании WPF и Silverlight приложений
-
Методы и средства проектирования ПО. Введение