Паттерны проектирования C# и .NET

所在平台: Udemy

课程主页: https://www.udemy.com/course/designpatternsru/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**C# 和 .NET 设计模式课程概述** 本课程旨在为 C# 和 .NET 开发者提供一个全面的设计模式学习体验,重点关注实践应用。课程将深入探讨: * **最新的 C# 和 .NET 生态系统特性** * **现代化的设计方法**,如依赖注入、响应式编程等 * **现代开发工具**,例如 JetBrains Rider 的使用 * **设计模式的变体和替代实现** **内容涵盖:** 本课程涵盖由“四人帮”(GoF)提出的所有经典设计模式,并深入讨论了现代变体和更新。此外,还将探讨设计模式在 .NET 框架(如 BCL)和语言本身中的内置实现。 **什么是设计模式?** 设计模式是针对常见设计问题的可重用解决方案。它们由 Erich Gamma、John Vlissides、Ralph Johnson 和 Richard Helm 于 1994 年出版的《设计模式:可复用面向对象软件元素》一书推广。尽管原著基于 C++ 和 Smalltalk,但设计模式已被成功应用于 C#、Java、JavaScript 等各种现代语言。设计模式的应用范围广泛;它们存在于各种库中,有些甚至内嵌于语言本身,并且开发者在使用它们时可能并未意识到。 **课程涵盖的设计模式:** * **SOLID 设计原则:** 单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。 * **创建型模式:** 生成器、工厂(工厂方法、抽象工厂)、原型、单例。 * **结构型模式:** 适配器、桥接、组合、装饰器、外观、享元、代理。 * **行为型模式:** 责任链、命令、解释器、迭代器、中介者、备忘录、空对象、观察者、状态、策略、模板方法、访问者。 **目标受众:** 本课程适合希望深入理解设计模式的不仅仅是标准示例,还包括利用 C# 语言特性(如 DLR 和 ImpromptuInterface 的 `DynamicObject`)以现代方式实现设计模式的 .NET/C# 开发者。课程将涉及 C# 的高级特性,如 `dynamic`、递归泛型,并广泛使用 Autofac(依赖注入)、TPL 和 `async/await`(多线程)、LINQ、Reactive Extensions 等第三方库和框架。 **教学风格:** 本课程采用纯粹的**实况编码(Live Coding)**方式,理论讲解极少,侧重于实际操作。视频将通过 Kinetica 系统呈现,最大程度地减少 IDE 的视觉干扰,让学习者专注于代码本身。每章节末尾都包含编程任务,以帮助巩固所学知识。

课程评论(0条)

课程详情

Обзор курсаЭтот курс предоставляет слушателю наиболее полный обзор Паттернов проектирования 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 и позволяет сфокусировать на одном - на коде.Помимо лекций, в конце каждого раздела есть задача по программированию: нужно реализовать паттерн. Эти задачи помогают закрепить пройденный материал.

课程标签

0人关注该课程

主题相关的课程