- •« Шаблоны проектирования» (5 курс, 9 семестр, 2011–2012 учебный год)
- •1 Понятие шаблона проектирования. Средства описания шаблонов проектирования.
- •2 История развития шаблонов проектирования. Классификация шаблонов проектирования.
- •12 Структурные шаблоны. Adapter
- •13 Cтруктурные шаблоны. Facade
- •14 Структурные Шаблоны. Bridge
- •15 Структурные Шаблоны. Decorator
- •16 Структурные Шаблоны. Proxy, Composite
- •23 Поведенческие Шаблоны. Command
- •24 Поведенческие Шаблоны. Strategy
- •25 Поведенческие Шаблоны. Observer
- •26 Поведенческие Шаблоны. Iterator
- •27 Поведенческие Шаблоны. Chain Of Responsibility
- •28 Поведенческие Шаблоны. Mediator
- •29 Поведенческие Шаблоны. Template Method
- •30 Архитектурные шаблоны. Классификация
- •31 Архитектурные шаблоны. Клиент-серверные системы
- •32 Архитектурные шаблоны. Многоуровневые системы
- •33 Архитектурные шаблоны. Репозиторий
- •34 Архитектурные шаблоны. Поток данных
- •35 Архитектурные шаблоны. Централизованное управление Вызов - возврат (сценарий транзакции - частный случай).
- •Диспетчер
- •36 Архитектурные шаблоны. Управление, основанное на событиях Передача сообщений
- •Управляемый прерываниями
- •37 Архитектурные шаблоны. Active Record
- •38 Архитектурные шаблоны. Unit of Work
- •39 Архитектурные шаблоны. Lazy Load
- •40 Архитектурные шаблоны. Identity Map
- •41 Архитектурные шаблоны. Data Access Object
- •42 Шаблоны проектирования пользовательского интерфейса. Model-View-Controller
- •43 Шаблоны проектирования пользовательского интерфейса. Document-View
- •44 Шаблоны проектирования пользовательского интерфейса. Model-View-Presenter
- •45 Шаблоны проектирования пользовательского интерфейса. Model-View-ViewModel
- •Назначение
- •Использование
- •Описание
- •46 Антишаблоны
46 Антишаблоны
Анти-паттерны (anti-patterns), также известные как ловушки (pitfalls) — это классы наиболее часто внедряемых плохих решений проблем. Они изучаются, как категория, в случае когда их хотят избежать в будущем, и некоторые отдельные случаи их могут быть распознаны при изучении неработающих систем.
Примеры:
Дым и зеркала (Smoke and mirrors): Демонстрация того, как будут выглядеть ненаписанные функции (название происходит от двух излюбленных способов, которыми фокусники скрывают свои секреты)
Большой комок грязи (Big ball of mud): Система с нераспознаваемой структурой
Бензиновая фабрика (Gas factory): Необязательная сложность дизайна
Затычка на ввод данных (Input kludge): Забывчивость в спецификации и выполнении поддержки возможного неверного ввода
Божественный объект (God object): Концентрация слишком большого количества функций в одной части системы (классе).
Ненужная сложность (Accidental complexity): Внесение ненужной сложности в решение
Дефакторинг (De-Factoring): Процесс уничтожения функциональности и замены её документацией
Демократия (Democracy): Большая группа индивидов не может принимать аргументированные решения, а руководствуется лишь поверхностной информацией.
Паблик Морозов: Класс-потомок, созданный в соответствии с этим антипаттерном, выдает по запросу все данные класса-предка, независимо от степени их сокрытия. Название данного анти-паттерна — это каламбур, основанный на созвучии ключевого слова public (паблик), часто означающего открытый доступ к методам и полям класса в объектно-ориентированных языках программирования, и имени пионера-героя Павлика Морозова, известного тем, что он выдал своего отца-кулака.