Программирование Паттерны проектирования C# и .NET [Dmitri Nesteruk]

Stokrat

Модератор
Модератор
Stokrat

Stokrat

Модератор
Модератор
Сообщения
11,944
Реакции
1,525
Паттерны проектирования C# и .NET
Современные подходы в проектировании ООП систем на платформе .NET
НОВИНКА
4,5 (1 оценка)

9 студентов зарегистрировано
Авторы: Dmitri Nesteruk
Последнее обновление: 5/2020
Русский

Чему вы научитесь
  • Находить и применять паттерны проектирования
  • Рефакторить решения к использованию паттернов
  • Оценивать применимость и полезность паттернов
  • Повысить навыки програмирования и дизайна архитектуры
  • Требования
    • Хорошее знание языка C#
    • Знакомство с самыми свежими фичами языка
    • Хорошее понимание принципов ООП
    • Наличие компилятора и среды разработки
  • Описание
    Обзор курса

    Этот курс предоставляет слушателю наиболее полный обзор Паттернов проектирования C# и .NET через чисто практический подход. В частности, на этом курсе вы увидите:
    • Последние версии языка C# экосистемы .NET

    • Современные подходы к проектированию: dependency injection, реактивное программирование, и т.п.

    • Использование современного инструментария разработки (Rider)

    • Обсуждение вариаций и альтернативных реализаций паттернов
  • Этот курс покрывает все паттерна Банды Четырех (GoF) а также современные вариации и изменения. Также мы обсудим наличие паттернов встроенных в сам язык или фреймворки .NET (например BCL).

    Что еще за Паттерны Проектирования?

    Паттерны проектирования — это готовые к использованию решения часто встречающихся задач проектирования. Паттерны были популяризованы в книге 1994 года Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (авторов иногда называют Бандой Четырех — Gang of Four — оттуда сокращение GoF).

    Оригинальный труд был написан с помощью языков C++ и Smalltalk, но с тех времен утекло много воды, и паттерны успешно адаптировали под все современные языки, такие как C#, Java, PHP, и даже под не-ООП языки, такие как JavaScript.

    Применимость паттернов проектирования универсальна: мы встречаем их в библиотеках, некоторые из них встроены прямо в язык, и вы наверняка сами используете их в вашем коде, даже не подозревая что они там есть.

    Какие паттерны покрыты в курсе?

    В этом курсе вы узнаете про все паттерны Банды Четырех. Вот что вы узнаете из курса:
    • Принципы проектирования SOLID: Принцип Единственной Обязанности, Принцип Открыт/Закрыт, Принцип Подстановки Лисков, Принцип Разделения Интерфейсов и Принцип Инверсии Зависимостей

    • Порождающие паттерны: Строитель, Фабрики (Фабричный Метод, Абстрактная Фабрика), Прототип, Синглтон

    • Структурные паттерны: Адаптер, Мост, Компоновщик, Декоратор, Фасад, Приспособленец, Заместитель

    • Поведенческие паттерны: Цепочка обязанностей, Команда, Интерпретатор, Итератор, Посредник, Хранитель, Null Object, Наблюдатель, Состояние, Стратегия, Шаблонный Метод, Посетитель
  • Для кого этот курс?

    Этот курс создан для .NET/C# разработчиков которые хотят видеть не только типовые примеры паттернов, но также различные вариации и трюки языка которые можно использовать чтобы писать паттерны в "современном" стиле. Например, с использованием DLR и ImpromptuInterface, мы можем сделать DynamicObject который реализует любой нужный нам интерфейс. Это дает возможность динамического программирования и позволяет делать интересные реализации некоторых паттернов.

    В курсе используются достаточно сложные аспекты C#, такие как dynamic, рекурсивные дженерики и т.п.. Также, очень сильно задействованы сторонние библиотеки и фреймворки: Autofac (dependency injection), TPL и async/await для многопоточности, LINQ, Reactive Extensions, и другие.

    Стиль преподавания

    Весь курс представлен как набор лайв-кодинг сессий, в нем минимум теории и максимум практики! Видео представлены с помощью моей собственной системы Kinetica, которая отбрасывает весь визуальный шум от IDE и позволяет сфокусировать на одном — на коде.

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

    Для кого этот курс:
    • Начинающие и опытные разработчики
    • Архитекторы приложений и систем
    • Все кого интересуют паттерны проектирования!

      referralCode=CA639D02B3D9488FB8E5#instructor-1



Скачать
 

Сверху Снизу