getfromcode后端开发 会员免费

C# 与 .NET 设计模式视频教程

课程定位:从直觉编码到工程化思维的转型 许多 C# 开发者能够完成功能开发,但在面对业务逻辑膨胀、模块耦合严重或难以进行单元测试的代码库时,往往缺乏系统性的重构方法论。这门课程不追求设计模式的数量堆砌,而是着重建立架构思维。前半部分深入解析 SOLID 原则,这是所有设计模式的理论基础;后半部分通过

单课价¥29.90新品 上架
会员价 会员免费开通会员,全站课程按额度无限下载套餐详情
2 人关注 更新于 2026-09-28 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买方式开通会员 · 全站免费下单课购买 · 仅本课

支付成功后自动显示网盘下载链接;链接失效可联系客服免费补链,永久有效。

正版保障 极速发货 售后无忧

课程定位:从直觉编码到工程化思维的转型

许多 C# 开发者能够完成功能开发,但在面对业务逻辑膨胀、模块耦合严重或难以进行单元测试的代码库时,往往缺乏系统性的重构方法论。这门课程不追求设计模式的数量堆砌,而是着重建立架构思维。前半部分深入解析 SOLID 原则,这是所有设计模式的理论基础;后半部分通过 Builder 模式讲解复杂对象的构建技巧。它解决的核心痛点是:如何写出高内聚、低耦合且易于扩展的代码,以及如何在代码复杂度上升时保持系统的可维护性。

学习门槛与推荐路径

本课程适合具备 C# 基础语法能力、有实际项目经验但感到设计困惑的中级开发者。若尚未深入理解接口、多态或继承机制,建议先补充相关基础知识再开始学习。推荐的学习顺序如下:首先完整观看 SOLID 原则系列,重点理解单一职责和依赖倒置在实际类设计中的体现,这一步决定了后续模式应用的合理性;其次,在理解原则后,进入 Builder 模式章节,通过对比“未使用模式”与“使用模式”的代码差异,直观感受抽象带来的收益;最后,利用 quizzes 进行阶段性自测,确认是否真正理解了原则间的权衡关系,而不仅仅是记住了模式名称。

学完产出与资料配合使用

完成本课程后,你能够独立识别现有代码中的设计缺陷,并运用 SOLID 原则进行合理的重构;同时,能够根据业务场景选择合适的设计模式(如 Builder)来构建复杂对象,显著提升代码的可读性和可测试性。资料包中的 C# 源码文件并非简单的复制粘贴,而是视频讲解的实体化呈现。建议在观看视频时,同步打开对应源码,尝试先关闭答案自行编写逻辑,再对照参考实现分析差异;对于 Quiz 测试题,务必独立完成后再查看答案,以此检验对设计原则的深层理解,确保知识转化为实际工程能力。

课程目录

课程目录69 条
  • 00 None
  • 01 The SOLID Design Principles
  • attached_files
  • 003 Single Responsibility Principle
  • SOLID.SRP.cs.txt
  • 004 Open-Closed Principle
  • SOLID.OCP.cs.txt
  • 005 Liskov Substitution Principle
  • SOLID.LSP.cs.txt
  • 006 Interface Segregation Principle
  • SOLID.ISP.cs.txt
  • 007 Dependency Inversion Principle
  • SOLID.DIP.cs.txt
  • 02 Builder
  • 011 Builder
  • Creational.Builder.Builder.cs.txt
  • 013 Faceted Builder
  • Creational.Builder.BuilderFacets.cs.txt
  • quizzes
  • 001 Builder Coding Exercise.html
  • 03 Factories
  • 016 Point Example
  • Creational.Factories.Factory.cs.txt
  • 020 Abstract Factory
  • Creational.Factories.AbstractFactory.cs.txt
  • 002 Factory Coding Exercise.html
  • 04 Prototype
  • 024 ICloneable is Bad
  • Creational.Prototype.ICloneableIsBad.cs.txt
  • 025 Copy Constructors
  • Creational.Prototype.CopyConstructors.cs.txt
  • 027 Copy Through Serialization
  • Creational.Prototype.CopyThroughSerialization.cs.txt
  • 003 Prototype Coding Exercise.html
  • 05 Singleton
  • 030 Singleton Implementation
  • Creational.Singleton.Singleton.cs.txt
  • 032 Singleton in Dependency Injection
  • Creational.Singleton.SingletonInDI.cs.txt
  • 033 Monostate
  • Creational.Singleton.Monostate.cs.txt
  • 004 Singleton Coding Exercise.html
  • 06 Adapter
  • 036 VectorRaster Demo
  • Structural.Adapter.NoCaching.cs.txt
  • 037 Adapter Caching
  • Structural.Adapter.WithCaching.cs.txt
  • 005 Adapter Coding Exercise.html
  • 07 Bridge
  • 0OO_Softarchive - Download-More-Here.url
  • 0OO_Software.For_Mac0S.txt
  • 0OO_Windows.Office-AD0BE-Visual_Studio 2017.txt
  • 040 Bridge
  • Structural.Bridge.Bridge.cs.txt
  • 006 Bridge Coding Exercise.html
  • 08 Composite
  • 043 Geometric Shapes
  • Structural.Composite.GeometricShapes.cs.txt
  • 044 Neural Networks
  • Structural.Composite.NeuralNetworks.cs.txt
  • 007 Composite Coding Exercise.html
  • 09 Decorator
  • 047 Custom String Builder
  • Structural.Decorator.CodeBuilder.cs.txt
  • 048 Adapter-Decorator
  • Structural.Decorator.AdapterDecorator.cs.txt
  • 049 Multiple Inheritance
  • Structural.Decorator.MultipleInheritance.cs.txt
  • 050 Dynamic Decorator Composition
  • Structural.Decorator.Decorator.cs.txt
  • 008 Decorator Coding Exercise.html
  • 10 Façade
  • 11 Flyweight
  • 057 Repeating User Names
  • Structural.Flyweight.Users.cs.txt
  • 058 Text Formatting
  • Structural.Flyweight.TextFormatting.cs.txt
  • 009 Flyweight Coding Exercise.html
  • 12 Proxy - Snorgared - SAnet.cd
  • 061 Protection Proxy
  • Structural.Proxy.ProtectionProxy.cs.txt
  • 062 Property Proxy
  • PropertyProxy.cs.txt
  • 063 Dynamic Proxy for Logging
  • Structural.Proxy.DynamicProxy.cs.txt
  • 010 Proxy Coding Exercise.html
  • 13 Chain of Responsibility - Snorgared - SAnet.cd
  • 068 Method Chain
  • Behavioral.ChainOfResponsibility.MethodChain.cs.txt
  • 069 Broker Chain
  • Behavioral.ChainOfResponsibility.BrokerChain.cs.txt
  • 011 Chain of Responsibility Coding Exercise.html
  • 14 Command
  • 072 Command
  • Behavioral.Command.Command.cs.txt
  • 012 Command Coding Exercise.html
  • 15 Interpreter
  • 076 Handmade Interpreter Lexing
  • Behavioral.Interpreter.Handmade.cs.txt
  • 013 Interpreter Coding Exercise.html
  • 16 Iterator
  • 081 Iterator Object
  • Behavioral.Iterator.TreeTraversal.cs.txt
  • 084 Array-Backed Properties
  • ArrayBackedProperties.cs.txt
  • 014 Iterator Coding Exercise.html
  • 17 Mediator
  • 087 Chat Room
  • Behavioral.Mediator.ChatRoom.cs.txt
  • 088 Event Broker
  • RxEventBroker.cs.txt
  • 015 Mediator Coding Exercise.html
  • 18 Memento
  • 091 Memento
  • Behavioral.Memento.Memento.cs.txt
  • 092 Undo and Redo
  • Behavioral.Memento.UndoRedo.cs.txt
  • 19 Null Object
  • 096 Null Object
  • Behavioral.NullObject.NullObject.cs.txt
  • 20 Observer
  • 100 Observer via the event Keyword
  • Behavioral.Observer.Events.cs.txt
  • 101 Weak Event Pattern
  • Behavioral.Observer.WeakEventPattern.cs.txt
  • 102 Observable Properties and Sequences
  • ObserverPattern.cs.txt
  • 21 State
  • 105 Handmade State Machine
  • Behavioral.State.Handmade.cs.txt
  • 106 State Machine with Stateless
  • Behavioral.State.Stateless.cs.txt
  • 22 Strategy
  • 109 Dynamic Strategy
  • Behavioral.Strategy.Dynamic.cs.txt
  • 110 Static Strategy
  • Behavioral.Strategy.Static.cs.txt
  • 23 Template Method
  • 113 Template Method
  • Behavioral.TemplateMethod.TemplateMethod.cs.txt
  • 24 Visitor
  • 116 Intrusive Expression Printing
  • Behavioral.Visitor.Intrusive.cs.txt
  • 117 Reflection-Based Printing
  • Behavioral.Visitor.Reflective.cs.txt
  • 118 Classic Visitor Double Dispatch
  • Behavioral.Visitor.Classic.cs.txt
  • 119 Dynamic Visitor via the DLR
  • Behavioral.Visitor.Dynamic.cs.txt
  • 25 Course Summary