
Вводный урок. Описание курса, о чем он. План курса.
Обзов шаблона Контейнер свойств.
Обзор шаблона Делегирование
Рассмотрим на практике шаблон Event Channel
Рассматриваем что такое шаблон Интерфейс
Рассматривается такой шаблон в проектировании программного обеспечения, как Функциональный дизайн.
Обзор шаблона "Неизменяемый интерфейс"
Обзор шаблона "Неизменяемый объект"
Обзор шаблона Неизменяемая обертка
Обзор шаблона Интерфейс-маркер
Обзор шаблона Фабричный метод.
Обзор шаблона Абстрактная фабирика
Обзор шаблона Статический фабричный метод
Обзор шаблона "Статическая фабрика"
Обзор шаблона "Простая фабрика"
Обзор шаблона "Строитель"
Обзор шаблона Прототип
Обзор шаблона Одиночка
Обзор шаблона Объектный пул
Обзор шаблона Ленивая инициализация
Шаблон проектирования Мультитон.
Обзор шаблона "Получение ресурса есть инициализация"
Обзор шаблона Легковес
Обзор шаблона проектирования Мост
Обзор шаблона Адаптер
Обзор шаблона Компоновщик
Обзор шаблона Преобразователь данных
Обзор шаблона Декоратор
Обзор шаблона Внедрение зависимостей
Обзор шаблона Фасад
Обзор шаблона Фронт контроллер
Обзор шаблона Заместитель
Обзор шаблона Текучий интерфейс
Обзор шаблона Приватный дата-класс
Обзор шаблона Реестр
Обзор шаблона Фильтр
Обзор шаблона Бизнес делегат
Обзор шаблона Составной объект
Обзор шаблона Объект доступа к данным
Обзор шаблона Перехватывающий фильтр
Обзор шаблона Сервис локатор
Обзор шаблона Объект-значение
Обзор шаблона Объект передачи данных
Обзор шаблона Брокер
Обзор шаблона Сессионный фасад
Обработчик списка значений
Обзор шаблона Каналы и фильтры
Обзор шаблона Активная запись
Обзор шаблона Обвязка свойств
Обзор шаблона Цепочка обязанностей
Обзор шаблона Команда
Обзор шаблона Интерпретатор
Обзор шаблона Итератор
Обзор шаблона Посредник
Обзор шаблона Снимок / Хранитель
Обзор шаблона Null Object
Обзор шаблона Наблюдатель
Обзор шаблона Издатель-подписчик
Обзор шаблона Слуга
Обзор шаблона Спецификация
Обзор шаблона Состояние
Обзор шаблона Стратегия
Реализация шаблона Шаблонный метод
Обзор шаблона проектирования Посетитель
Обзор шаблона Одноразовый посетитель
Обзор шаблона Иерархический посетитель
Обзор шаблона MVC
Обзор шаблона MVP
Обзор шаблона MVVM
Обзор шаблона PAC
Обзор шаблона Голый объект
Обзор шаблона Иерархическая модель-Представление-Контроллер
Обзор шаблона VIPER
Для кого курс
Этот курс ориентирован на тех, кто уже знаком с языком программирования Java/PHP/C# и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения.
На этом курсе Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем.
Вы научитесь познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования.
Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
О чем курс
В данном курсе охвачены практически все известные шаблоны проектирования программного обеспечения. В курс вошли обзор базовых, структурных, поведенческих, порождающих, параллельного программирования и архитектурных шаблонов проектирования программного обеспечения.
В курсе содержится большой пласт теории и практики. В каждой лекции вы найдете решение на языке PHP рассматриваемого шаблона.
Структура лекций
Каждая лекция состоит из основных разделов:
1. Суть шаблона.
2. Проблема, которую решает шаблон.
3. Решение, которое предлагает шаблон.
4. Схема или структура шаблона и набора классов.
5. Практический пример.
6. Применимость.
7. Плюсы и минусы.
8. Связь с другим шаблонами.
9. Итог.
Какие шаблоны рассмотрены
1. БАЗОВЫЕ
Контейнер свойств / PropertyContainer
Делегирование / Delegation
Канал событий / Event Channel
Интерфейс / Interface
Шаблон функционального дизайна / Finctional Design
Неизменяемый интерфейс / Immutable Interface
Неизменяемый объект / Immutable object
Неизменяемая обертка / Immutable Wrapper
Интерфейс маркер / Marker Interface
2. ПОРОЖДАЮЩИЕ
Фабричный метод / Factory Method
Абстрактная фабрика / Abstract Factory
Статический фабричный метод / Static Factory Method
Статическая фабрика / Static Factory
Простая фабрика / Simple Factory
Строитель / Builder
Прототип / Prototype
Одиночка / Singletone
Объектный пул / Pool
Отложенная инициализация / Lazy Initialization
Мультитон / Multitone
Получение ресурса есть инициализация / RAII
3. СТРУКТУРНЫЕ
Легковес / Flyweight
Мост / Bridge
Адаптер / Adapter
Компоновщик / Composer
Преобразователь данных / Data Mapper
Декоратор / Decorator
Внедрение зависимостей / DI
Фасад / Facade
Единая точка доступа / Front Controller
Заместитель / Proxy
Текучий интерфейс / Fluent interface
Приватный дата-класс / Private data mapper
Реестр / Registry
Фильтр / Filter
Бизнес делегат / Business delegate
Составной объект / Composite Entity
Объект доступа к данным / DAO
Фильтр перехвата / Intercepting filter
Локатор служб / Service Locator
Объект значение / Object Value
Объект передачи данных / DTO
Брокер / Brocker
Сессионный фасад / Session Facade
Обработчик списка значений / Value List Handler
Каналы и фильтры / Pipes and Filters
Активная запись / Active record
Обвязка свойств / Binding properties
4. ПОВЕДЕНЧЕСКИЕ
Цепочка обязанностей / Chain of responsibility
Команда / Command
Интерпретатор / Interpreter
Итератор / Iterator
Посредник / Mediator
Хранитель / Memento
Нуль-объект / Null obkect
Наблюдатель / Observer
Издатель-подписчик / PubSub
Слуга / Servant
Спецификация / Specification
Состояние / State
Стратегия / Strategy
Шаблонный метод / Template Method
Посетитель / Visitor
Одноразовый посетитель / Single serving visitor
Иерархический посетитель / Hierarchical visitor
5. АРХИТЕКТУРНЫЕ
MVC
MVP
MVVM
PAC
Голый объект / Naked object
HMVC
VIPER
Чему научитесь по окончанию курса
По окончанию курса вы научитесь применять на практике шаблоны проектирования в вашем проекте.
Who the Course
Is For This course is aimed at those who are already familiar with the Java / PHP / C # programming language and would like to deepen their knowledge and explore object-oriented analysis and software design.
In this course, you will become familiar with the basic principles and patterns of object-oriented design used in the development of software systems. You will learn to familiarize yourself with the basic concepts and principles of the object-oriented approach, study generative, structural and behavioral design patterns. You will learn how to create modular, flexible, and reusable software using object-oriented principles and design patterns. What the course is about This course covers almost every known software design pattern. The course included an overview of basic, structural, behavioral, generative, parallel programming, and architectural software design patterns. The course contains a large layer of theory and practice. In each lecture, you will find a PHP solution to the template in question
Structure of the lectures
Each lecture consists of the main sections:
1. The essence of the template.
2. The problem that the template solves.
3. The solution that the template offers.
4. Scheme or structure of a template and a set of classes.
5. A practical example.
6. Applicability.
7. Pros and cons.
8. Link to other templates.
9. Summary.