Мы используем cookie для стабильной работы сервиса. Подробнее

Шаблоны проектирования. Design patterns tutorial.

ФорматОнлайн
Объём6 занятий
О курсе

Подробнее

Для кого курс Этот курс ориентирован на тех, кто уже знаком с языком программирования 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.
Требования

Что нужно для старта

  • Знание одного из ООП языков программирования
  • Хорошее понимание принципов ООП
  • Наличие компилятора и среды разработки
Аудитория

Для кого этот курс

  • Начинающие и продвинутые разработчики, желающие познать принципы проектирования программ с применением шаблонов проектирования
Содержание

Программа курса

6 занятий
ТемаЧто внутри
01ЧАСТЬ 1. Введение

- Лекция 1. Введение.

02ЧАСТЬ 2. Фундаментальные шаблоны

- Лекция 2. Property container / Контейнер свойств
- Лекция 3. Delegation / Делегирование
- Лекция 4. Event channel / Канал событий
- Лекция 5. Interface / Интерфейс
- Лекция 6. Functional design / Функциональный дизайн
- Лекция 7. Immutable interface / Неизменяемый интерфейс
- Лекция 8. Immutable object / Неизменяемый объект
- Лекция 9. Immutable wrapper / Неизменяемая обертка
- Лекция 10. Marker interface / Интерфейс-маркер

03ЧАСТЬ 3. Порождающие шаблоны

- Лекция 11. Factory Method / Фабричный метод
- Лекция 12. Abstract Factory / Абстрактная фабрика
- Лекция 13. Статический фабричный метод / Static Factory Method
- Лекция 14. Статическая фабрика / Static Factory
- Лекция 15. Простая фабрика / Simple Factory
- Лекция 16. Строитель / Builder
- Лекция 17. Прототип / Prototype
- Лекция 18. Одиночка / Singletone
- Лекция 19. Объектный пул / Object Pool
- Лекция 20. Ленивая инициализация / Lazy Initialization
- Лекция 21. Мультитон / Multiton
- Лекция 22. Получение ресурса есть инициализац / Resource acquisi

04ЧАСТЬ 4. Структурные шаблоны

- Лекция 23. Легковес / Flyweight
- Лекция 24. Мост / Bridge
- Лекция 25. Адаптер / Adapter
- Лекция 26. Компоновщик / Composit
- Лекция 27. Преобразователь данных / Data Mapper
- Лекция 28. Декоратор / Decorator
- Лекция 29. Внедрение зависимостей / Dependency Injection
- Лекция 30. Фасад / Facade
- Лекция 31. Единая точка входа / Front Controller
- Лекция 32. Заместитель / Proxy
- Лекция 33. Текучий интерфейс / Fluent interface
- Лекция 34. Приватный дата-класс / Private Data Class
- Лекция 35. Реестр / Registry
- Лекция 36. Фильтр / Filter
- Лекция 37. Бизнес делегат / Business Delegate
- Лекция 38. Составной объект / Composite Object
- Лекция 39. Объект доступа к данным / DAO
- Лекция 40. Перехватывающий фильтр / Intercepting Filter
- Лекция 41. Сервис локатор / Service Locator
- Лекция 42. Объект-значение / Value Object
- Лекция 43. Объект передачи данных / DTO
- Лекция 44. Брокер / Broker
- Лекция 45. Сессионный фасад / Session Facade
- Лекция 46. Обработчик списка значений / Value List Handler
- Лекция 47. Каналы и фильтры / Pipes and Filters
- Лекция 48. Активная запись / Active Record
- Лекция 49. Обвязка свойств / Binding Properties

05ЧАСТЬ 5. Поведенческие шаблоны

- Лекция 50. Цепочка обязанностей / Chain of Responsibility
- Лекция 51. Команда / Command
- Лекция 52. Интерпретатор / Interpreter
- Лекция 53. Итератор / Iterator
- Лекция 54. Посредник / Mediator
- Лекция 55. Хранитель / Memento
- Лекция 56. Нуль-объект / Null object
- Лекция 57. Наблюдатель / Observer
- Лекция 58. Издатель-подписчик / Publisher-Subscriber
- Лекция 59. Слуга / Servant
- Лекция 60. Спецификация / Specification
- Лекция 61. Состояние / State
- Лекция 62. Стратегия / Strategy
- Лекция 63. Шаблонный метод / Template method
- Лекция 64. Посетитель / Visitor
- Лекция 65. Одноразовый посетитель / Single serving visitor
- Лекция 66. Иерархический посетитель / Hierarchical visitor

06ЧАСТЬ 6. Архитектурные шаблоны

- Лекция 67. Модель-Представление-Контроллер / Model-View-Controll
- Лекция 68. Модель-Представление-Представитель / Model-View-Prese
- Лекция 69. Модель-Представление-ПредстальниеМодель / Model-View-
- Лекция 70. Презентация-Абстракция-Контроль / Presentation-Abstra
- Лекция 71. Голый объект / Naked Object
- Лекция 72. Иерархическая модель-Представление-Контроллер / HMVC
- Лекция 73. View Interactor Presenter Entity Router (VIPER)

01ЧАСТЬ 1. Введение

- Лекция 1. Введение.

02ЧАСТЬ 2. Фундаментальные шаблоны

- Лекция 2. Property container / Контейнер свойств
- Лекция 3. Delegation / Делегирование
- Лекция 4. Event channel / Канал событий
- Лекция 5. Interface / Интерфейс
- Лекция 6. Functional design / Функциональный дизайн
- Лекция 7. Immutable interface / Неизменяемый интерфейс
- Лекция 8. Immutable object / Неизменяемый объект
- Лекция 9. Immutable wrapper / Неизменяемая обертка
- Лекция 10. Marker interface / Интерфейс-маркер

03ЧАСТЬ 3. Порождающие шаблоны

- Лекция 11. Factory Method / Фабричный метод
- Лекция 12. Abstract Factory / Абстрактная фабрика
- Лекция 13. Статический фабричный метод / Static Factory Method
- Лекция 14. Статическая фабрика / Static Factory
- Лекция 15. Простая фабрика / Simple Factory
- Лекция 16. Строитель / Builder
- Лекция 17. Прототип / Prototype
- Лекция 18. Одиночка / Singletone
- Лекция 19. Объектный пул / Object Pool
- Лекция 20. Ленивая инициализация / Lazy Initialization
- Лекция 21. Мультитон / Multiton
- Лекция 22. Получение ресурса есть инициализац / Resource acquisi

04ЧАСТЬ 4. Структурные шаблоны

- Лекция 23. Легковес / Flyweight
- Лекция 24. Мост / Bridge
- Лекция 25. Адаптер / Adapter
- Лекция 26. Компоновщик / Composit
- Лекция 27. Преобразователь данных / Data Mapper
- Лекция 28. Декоратор / Decorator
- Лекция 29. Внедрение зависимостей / Dependency Injection
- Лекция 30. Фасад / Facade
- Лекция 31. Единая точка входа / Front Controller
- Лекция 32. Заместитель / Proxy
- Лекция 33. Текучий интерфейс / Fluent interface
- Лекция 34. Приватный дата-класс / Private Data Class
- Лекция 35. Реестр / Registry
- Лекция 36. Фильтр / Filter
- Лекция 37. Бизнес делегат / Business Delegate
- Лекция 38. Составной объект / Composite Object
- Лекция 39. Объект доступа к данным / DAO
- Лекция 40. Перехватывающий фильтр / Intercepting Filter
- Лекция 41. Сервис локатор / Service Locator
- Лекция 42. Объект-значение / Value Object
- Лекция 43. Объект передачи данных / DTO
- Лекция 44. Брокер / Broker
- Лекция 45. Сессионный фасад / Session Facade
- Лекция 46. Обработчик списка значений / Value List Handler
- Лекция 47. Каналы и фильтры / Pipes and Filters
- Лекция 48. Активная запись / Active Record
- Лекция 49. Обвязка свойств / Binding Properties

05ЧАСТЬ 5. Поведенческие шаблоны

- Лекция 50. Цепочка обязанностей / Chain of Responsibility
- Лекция 51. Команда / Command
- Лекция 52. Интерпретатор / Interpreter
- Лекция 53. Итератор / Iterator
- Лекция 54. Посредник / Mediator
- Лекция 55. Хранитель / Memento
- Лекция 56. Нуль-объект / Null object
- Лекция 57. Наблюдатель / Observer
- Лекция 58. Издатель-подписчик / Publisher-Subscriber
- Лекция 59. Слуга / Servant
- Лекция 60. Спецификация / Specification
- Лекция 61. Состояние / State
- Лекция 62. Стратегия / Strategy
- Лекция 63. Шаблонный метод / Template method
- Лекция 64. Посетитель / Visitor
- Лекция 65. Одноразовый посетитель / Single serving visitor
- Лекция 66. Иерархический посетитель / Hierarchical visitor

06ЧАСТЬ 6. Архитектурные шаблоны

- Лекция 67. Модель-Представление-Контроллер / Model-View-Controll
- Лекция 68. Модель-Представление-Представитель / Model-View-Prese
- Лекция 69. Модель-Представление-ПредстальниеМодель / Model-View-
- Лекция 70. Презентация-Абстракция-Контроль / Presentation-Abstra
- Лекция 71. Голый объект / Naked Object
- Лекция 72. Иерархическая модель-Представление-Контроллер / HMVC
- Лекция 73. View Interactor Presenter Entity Router (VIPER)

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Шаблоны проектирования. Design patterns tutorial.» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 12 августа 2026 г.

Продолжить выбор

Похожие курсы

Начать без затрат

Бесплатные курсы