Видео курс по шаблонам проектирования - видео уроки ITVDN
ITVDN: курсы программирования
Видеокурсы по
программированию

    Выбери свою IT специальность

    Начать бесплатно

    Выбери свою IT специальность

    Начать бесплатно

      Видео курс по шаблонам проектирования

      О курсе

      Программное обеспечение, созданное при помощи различных языков программирования, сильно упрощает нашу жизнь - сегодня без него невозможно представить современный мир. Подобные достижения во многом обязаны шаблонам (паттернам) проектирования - архитектурным конструкциям, которые описывают типичные способы решения распространенных проблем при проектировании программ. В видео курсе будут детально рассмотрены более 20 паттернов, которые упрощают жизнь разработчикам и помогают создавать качественный продукт.

      В качестве дополнительного материала к данному курсу вы можете скачать книгу Александра Шевчука “Design Patterns via C#”.

      Читать дальше...

      Этот курс входит в специальности:

      Предварительные Требования

      Уверенное владение языком C#

      Читать дальше...

      Вы научитесь

      1. понимать, что такое паттерны проектирования;
      2. определять, в какой ситуации стоит использовать тот или иной шаблон;
      3. применять более 20 паттернов проектирования на практике: 5 порождающих, 7 структурных и 11 поведенческих;
      4. улучшать качество и читаемость кода;  
      5. понимать основы унифицированного языка моделирования UML;
      Читать дальше...
      Скачать материалы курса Для получения материалов курса нужно авторизоваться
      Получить сертификат Для получения сертификата нужно авторизоваться
      • Длительность: 16 ч 7 м
      • Курс создан: 11.03.2014
      • Уроков: 29
      • Обновлен: 03.12.2017
      • Язык: русский

      Что входит в курс

      • 29 видео уроков
      • Домашние задания
      • Тестирование
      • Сертификат
      • Консультация с тренером

      ×

      Вы открыли доступ к тесту! Пройти тест

      Вы действительно хотите открыть доступ к тестированию по курсу Шаблоны проектирования на 40 дней?

      Войдите или зарегестрируйтесь для того чтоб продолжить просмотр бесплатного видео
      В данном видео уроке рассматривается структура курса “Шаблоны проектирования” и производится краткий обзор книги “Приемы объектно-ориентированного проектирования. Паттерны проектирования” с обсуждением всех ее достоинств и недостатков. Также автор презентует книгу «Design Patterns via C#», которая в доходчивом, понятном и упрощенном виде объясняет назначение и применение паттернов в создании программного обеспечения.
      Читать дальше...
      Технически, паттерны (шаблоны) проектирования - это всего лишь абстрактные примеры правильного использования небольшого числа комбинаций простейших техник ООП. Видео урок представит простые примеры, показывающие правильные способы организации взаимодействий между классами или объектами.
      Читать дальше...
      Этот видео урок из "Курса шаблоны проектирования" посвящен UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это — открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. Данный видеоурок познакомит вас c базовыми возможностями и подходами к проектированию с помощью языка UML.
      Читать дальше...
      Данный видео урок из курса "Шаблоны проектирования" познакомит Вас с понятием конечного автомата, вариантами его описания и логикой построения простейших конечных автоматов.
      Читать дальше...
      Видео урок раскроет понятие парадигмы программи́рования, которая является совокупностью идей и понятий, определяющих стиль написания компьютерных программ. Это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером. Этот видеоурок расскажет Вам об основных современных парадигмах объектно-ориентированного программирования, которые поддерживаются платформой .NET.
      Читать дальше...
      Данный видео урок дает базовые знания о регулярных грамматиках, и основных способах их применения в программировании.
      Читать дальше...
      Видео урок посвящен паттерну Abstract Factory, который предоставляет клиенту интерфейс (набор методов) для создания семейств взаимосвязанных или взаимозависимых объектов-продуктов, при этом скрывает от клиента информацию о конкретных классах этих объектов-продуктов.
      Читать дальше...
      Видеоурок посвящен паттерну проектирования Builder, который помогает организовать пошаговое построение сложного объекта-продукта так, что клиенту не требуется понимать последовательность шагов и внутреннее устройство строящегося объекта-продукта, при этом в результате одного и того же процесса конструирования могут получаться объекты-продукты с различным представлением (внутренним устройством).
      Читать дальше...
      Видео урок посвящен шаблону проектирования Factory Method, который предоставляет абстрактный интерфейс (набор методов) для создания объекта-продукта, но оставляет возможность, разработчикам классов, реализующих этот интерфейс самостоятельно принять решение о том, экземпляр какого конкретного класса-продукта создать. Паттерн Factory Method позволяет базовым абстрактным классам передать ответственность за создание объектов-продуктов своим производным классам.
      Читать дальше...
      Видеоурок расскажет о паттерне Prototype, который предоставляет возможность создания новых объектов-продуктов (клонов), используя технику клонирования (копирования) созданного ранее объекта-оригинала-продукта (прототипа). Паттерн Prototype – позволяет задать различные виды (классы-виды) объектов-продуктов (клонов), через настройку состояния каждого нового созданного клона. Классификация клонов-продуктов производится на основании различия их состояний.
      Читать дальше...
      Видео урок познакомит с шаблоном проектирования Singleton, который гарантирует, что у класса может быть только один экземпляр. В частном случае предоставляется возможность наличия, заранее определенного числа экземпляров.
      Читать дальше...
      Видео урок посвящен паттерну Adapter, он преобразует интерфейс (набор имен методов) одного класса в интерфейс (набор имен методов) другого класса, который ожидают клиенты. Адаптер обеспечивает совместную работу классов с несовместимыми интерфейсами, такая работа без Адаптера была бы невозможна.
      Читать дальше...
      Видео урок посвящен паттерну Bridge, который позволяет отделить абстракцию от элементов ее реализации так, чтобы и абстракцию, и реализацию можно было изменять независимо друг от друга.
      Читать дальше...
      Виде урок расскажет о шаблоне проектирования Composite, который составляет из объектов древовидные структуры для представления иерархий «часть – целое». Позволяет клиентам единообразно трактовать индивидуальные объекты (листья) и составные объекты (ветки).
      Читать дальше...
      Видео урок посвящен паттерну Decorator(декоратор), который динамически (в ходе выполнения программы) добавляет объекту новые возможности (состояние и/или поведение). Композиция, используемая при реализации паттерна Decorator, является гибкой альтернативой наследованию (порождению подклассов) с целью расширения функциональности.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Facade, который предоставляет унифицированный интерфейс (набор имен методов) вместо интерфейса некоторой подсистемы (набора взаимосвязанных классов или объектов).
      Читать дальше...
      Видео урок посвящен шаблону проектированию Flyweight, который описывает правильное применение техники создания «разделяемых объектов», для получения возможности эффективного использования большого числа объектов.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Proxy, который предоставляет объект-заместитель для контроля доступа к другому объекту.
      Читать дальше...
      Видео урок посвящен паттерну проектирования Chain of Responsibility, который позволяет избежать привязки объекта-отправителя запроса к объекту-получателю запроса, при этом давая шанс обработать этот запрос нескольким объектам. Паттерн Chain of Responsibility связывает в цепочку объекты-получатели запроса и передает запрос вдоль этой цепочки, пока один из объектов, составляющих эту цепочку не обработает передаваемый запрос.
      Читать дальше...
      Видео урок расскажет о шаблоне проектирования Command (Команда), который позволяет представить запрос в виде объекта, позволяя клиенту конфигурировать запрос (задавая параметры для его обработки), ставить запросы в очередь, протоколировать запросы, а также поддерживать отмену операций.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Interpreter (интерпретатор), который позволяет сформировать объектно-ориентированное представление грамматики для заданного языка, а также описывает правила создания механизма интерпретации (толкования) предложений этого языка.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Iterator (Итератор), который представляет удобный и безопасный способ доступа к элементам коллекции (составного объекта), при этом не раскрывая внутреннего представления этой коллекции.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Mediator (посредник), который предоставляет объект-посредник, скрывающий способ взаимодействия множества других объектов-коллег. Объект-посредник обеспечивает слабую связанность системы, избавляя объектов-коллег от необходимости явно ссылаться друг на друга, позволяя тем самым независимо изменять взаимодействия между объектами-коллегами.
      Читать дальше...
      Видео урок посвящен поведенческому шаблоны проектирования Memento (хранитель), который не нарушая инкапсуляции, фиксирует и выносит за пределы объекта-хозяина его внутреннее состояние так, чтобы позднее это вынесенное состояние можно было восстановить в исходном объекте-хозяине.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Observer (наблюдатель), который использует связь-отношения зависимости «один ко многим» (один издатель ко многим подписчикам). При изменении состояния одного объекта (издателя), все зависящие от него объекты (подписчики) оповещаются об этом и автоматически обновляются.
      Читать дальше...
      Видео урок расскажет о шаблоне проектирования State (Состояние), который позволяет объекту изменять свое поведение в зависимости от своего состояния. Поведение объекта изменяется на столько, что создается впечатление, что изменился класс объекта.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Strategy (Стратегия), который определяет набор алгоритмов (часто схожих по роду деятельности), инкапсулирует каждый из имеющихся алгоритмов (в отдельный класс) и делает их подменяемыми. Паттерн Strategy позволяет подменять алгоритмы без участия клиентов, которые используют эти алгоритмы.
      Читать дальше...
      Видео урок посвящен паттерну проектирования Template Method, который формирует структуру алгоритма и позволяет в производных классах реализовать, заместить (перекрыть) или переопределить определенные шаги (участки) алгоритма, не изменяя структуру алгоритма в целом.
      Читать дальше...
      Видео урок посвящен шаблону проектирования Visitor (Посетитель), который позволяет единообразно обойти набор элементов с разнородными интерфейсами (т.е. набор объектов разных классов не приводя их к общему базовому типу), а также позволяет добавить новый метод (функцию) в класс объекта, при этом не изменяя сам класс этого объекта.
      Читать дальше...
      ПОКАЗАТЬ ВСЕ
      основные темы, рассматриваемые на уроке
      0:00:33
      Вступление
      0:01:52
      Рекомендованная литература
      0:19:20
      Структура курса
      ПОКАЗАТЬ ВСЕ
      Рекомендуемая литература
      Рекомендуемой литературы к данному уроку не предусмотрено
      Титры видеоурока

      От авторов

      Книга «Design Patterns via C#» не является самостоятельным изданием, описывающим паттерны проектирования, на эту тему уже есть уникальное издание: «Приемы объектно-ориентированного проектирования. Паттерны проектирования», авторами которого являются Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес. Эта группа авторов известна под творческим псевдонимом - «Банда четырех» (GoFGang of Four). Случайным и интересным образом этот псевдоним совпадает с названием левацкой политической фракции Коммунистической Партии Китая, находившейся у власти во времена «Культурной революции» (1966 – 1976 годы). Такое название партии было дано Мао Цзэдуном.

      За время своего существования, книга «Приемы объектно-ориентированного проектирования. Паттерны проектирования» зарекомендовала себя как библия объектно-ориентированного проектирования. Каждый представленный в ней паттерн – это отдельный завет, которого необходимо придерживаться и ему следовать. Этой книге не может быть замены.

      Книга «Приемы объектно-ориентированного проектирования. Паттерны проектирования» - это научный труд, который заложил основы и сформировал стандарты объектно-ориентированного проектирования, которым все стараются следовать.

      Для успешной реализации программных решений, одного стандарта проектирования может оказаться мало. Не менее важным является выбор программной инфраструктуры. Компания Microsoft предоставила миру в свободное использование инфраструктуру .NET.

      Что можно сказать об инфраструктуре Microsoft .Net? Её формула проста: .NET = CLR + FCL. И сразу же хочется перефразировать крылатое высказывание неизвестного древнегреческого философа-геометра: «Высшее проявление духа – это разум. Высшее проявление разума – это .NET. Клетки .NETFCL. Она так же неисчерпаема, как и Вселенная. CLR – душа .NET. Познайте CLR, и вы не только познаете душу .NET, но и возвысите душу свою»

      Многие паттерны были использованы для реализации типов, входящих в FCL, а некоторые из них даже нашли выражение в языковых конструкциях и в идеях работы механизмов CLR.

      В своей книге «CLR via C#», Джеффри Рихтер, богато и технически ярко описал устройство и особенности работы CLR. Эта книга является глубоким и всеобъемлющим источником знаний по устройству CLR и использованию языка C#, и равных ей в этом нет.

      Реализации паттернов с использованием языка C# имеют свои иногда специфические особенности, поэтому рекомендуется обращаться за разъяснениями использования конструкций языка, описания типов FCL и самих механизмов CLR именно к книге Джеффри Рихтера - «CLR via C#».

      Цели, которые перед собой ставили авторы книги «Design Patterns via C#» при ее написании:

      Разъяснить и в хорошем смысле более «просторечиво» представить определения и положения, представленные в книге «Приемы объектно-ориентированного проектирования. Паттерны проектирования».

      Реализовать примеры на языке C# из книги «Приемы объектно-ориентированного проектирования. Паттерны проектирования», которые в книге представлены в форме общих описаний (примеров-идей) или в виде отрывков-кода на языке C++, стараясь при этом максимально сохранить первоначально заложенный смысл-идею.

      Представить модели диаграммами с использованием языка UML и выразить их средствами моделирования Microsoft Visual Studio.

      Показать варианты реализации паттернов с использованием особенностей конструкций языка C#, типов FCL и механизмов CLR.

      Книгу «Design Patterns via C#» рекомендуется воспринимать как приложение к книге «Приемы объектно-ориентированного проектирования. Паттерны проектирования» и, читать параллельно, обращаясь к ней за разъяснениями и описанием реализации примеров на языке C#.

      Александр ШевчукДмитрий Охрименко, Андрей Касьянов

       

      Благодарности

      В создании книги так или иначе участвовали многие люди. Особую благодарность авторы хотели бы выразить всем, кто принимал участие в создании этой книги и подготовке примеров к ней:

      Андрей Рябец, Олег Кулыгин, Давид Бояров, Алексей Назарук, Владислав Поколенко, Андрей Василишин, Илья Попов, Владимир Божек, Юлия Лищук, Тимур Сайфулин, Александр Головатый, Николай Лукьяненко, Виктор Левитский, Дмитрий Живняк, Андрей Павлюк, Алексей Анпилогов, Алексей Яблоков, Богдан Донченко, Александр Самойленко, Владислав Овинников, Полина Смирнова, Дмитрий Черниговский.  

       

      Принятые в книге обозначения

      Для облегчения работы с книгой приняты следующие соглашения:

      • Коды программ обозначены в книге шрифтом (Consolas).
      • Основные стереотипы языка C# представлены следующими цветами:

      class MyClass { }

      struct MyStruct { }

      enum MyEnum { }

      interface IInterface { }

      delegate void MyDelegate();

      • Смысловые акценты, определения, термины, встретившиеся впервые, а подписи к рисункам, обозначены курсивом, например: Рисунок 2. Фрагмент танца составленный из двух независимых элементов (шаблонов), closure, контейнер и т.д.
      • Имена основных участников паттернов выделены полужирным начертанием: Абстракция, Посредник, Коллега,  Конкретный продукт и т.д.
      • Имена классов и методов, встречающиеся в тексте книги вне листингов, выделены цветом и шрифтом, как элементы кода программ. Например, имена  классов выглядят следующим образом: Builder, MazeGame, ConcreteProduct и т.п. Имена методов: MemberwiseClone, Instance, CreateManipulator и т.п. Имена интерфейсов: IGraphic, IEnumerable, IEnumerator.
      • Комментарии к листингам приведены в привычном для Visual Studio v12 стиле:  шрифт Consolas, текст зеленого цвета (//комментарий листинга).
      • Ссылки на статьи MSDN и других вспомогательных ресурсов приведены шрифтом Calibri, синего цвета с использованием  подчеркивания, например http://MSDN.com.
      • Ключевые преимущества, недостатки и варианты реализаций паттернов выделены маркерами с использованием полужирного начертания:
        • Вариант реализации, ключевое преимущество или недостаток паттерна

      Технические рекомендации

      Для просмотра диаграмм классов, представленных с использованием языка UML, требуется воспользоваться Visual Studio v12 и выше в редакции Ultimate Edition.

       

      Дополнительные ресурсы

      Более детально познакомиться с особенностями языка C# и технологий .NET можно на следующих ресурсах:

      http://MSDN.com

      https://itvdn.com/ru

      Пакеты подписки с доступом ко всем курсам и сервисам

      Пакеты подписки с доступом ко всем курсам и сервисам

      Стартовый
      • Все видеокурсы на 3 месяца
      • Тестирование по 10 курсам
      • Проверка 5 домашних заданий
      • Консультация с тренером 30 мин
      49.99 $
      25.00 $
      Подписка
      Базовый
      • Все видеокурсы на 6 месяцев
      • Тестирование по 16 курсам
      • Проверка 10 домашних заданий
      • Консультация с тренером 60 мин
      89.99 $
      45.00 $
      Подписка
      Премиум
      • Все видеокурсы на 12 месяцев
      • Тестирование по 24 курсам
      • Проверка 20 домашних заданий
      • Консультация с тренером 120 мин
      169.99 $
      85.00 $
      Подписка
      комментарии и обсуждения
      Notification success
      Мы используем cookie-файлы, чтобы сделать взаимодействие с нашими веб-сайтами и услугами простым и значимым.