Шаблоны проектирования. Design patterns tutorial.
Обзор всех популярных шаблонов проектирования в разработке программного обеспечения.
Description
Для кого курс
Этот курс ориентирован на тех, кто уже знаком с языком программирования 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.
What You Will Learn!
- Современные подходы в проектировании ООП систем на платформе PHP
- Архитектуру известных шаблонов проектирования
Who Should Attend!
- Начинающие и продвинутые разработчики, желающие познать принципы проектирования программ с применением шаблонов проектирования