设计模式——总介
分类
GoF总结出来23种设计模式,大体上可以分为3大类,分别从对象的创建、对象的结构及对象的行为这3个方面来总结代码编写经验。
第一大类:创建型模式
在程序设计中,如果将对象的创建和使用都放在客户程序中一起执行,首先会使得客户的资源效率占用很大;客户程序代码增大,又使得客户程序的维护费用加大。所以很多时候有必要把对象的创建与使用分离开来,创建型模式就是为了解决这类问题,正所谓“分而治之”,大家都省心。这样做也可以满足一些特殊的需求。
01.00 简单工厂模式(Simple Factory)
01.01 工厂方法模式(Factory Method)
01.02 抽象工厂模式(Abstract Factory)
01.03 创建者模式(Builder)
01.04 原型模式(Prototype)
01.05 单例模式(Singleton)
第二大类:结构型模式
优秀的系统,必然有良好的整体设计,系统设计包括静态设计与动态设计,结构型模式就是为了系统整体或者子系统静态关系方面的高内聚,松耦合;而行为型模式则是针对动态方面的。
02.01 外观模式(Facade)
02.02 适配器模式(Adapter)
02.03 代理模式(Proxy)
02.04 装饰模式(Decorator)
02.05 桥模式(Bridge)
02.06 组合模式(Composite)
02.07 享元模式(Flyweight)
第三大类:行为型模式
03.01 模版方法模式(Template Method)
03.02 观察者模式(Observer)
03.03 状态模式(State)
03.04 策略模式(Strategy)
03.05 职责链模式(Chain of Responsibility)
03.06 命令模式(Command)
03.07 访问者模式(Visitor)
03.08 调停者模式(Mediator)
03.09 备忘录模式(Memento)
03.10 迭代器模式(Iterator)
03.11 解释器模式(Interpreter)
学习设计模式的资源
(1) 设计模式开山之作:GoF的《设计模式》。
(2) 板里桥人的系列文章:http://www.jdon.com/designpatterns/index.htm。
(3) 林信良的系列文章:http://caterpillar.onlyfun.net/Gossip/DesignPattern/DesignPattern.htm。
(4) Alexander(亚历山大)的《建筑的永恒之道》。
(5) 埃克尔的《Java编程思想》。
(6) 郭志学的《易学——设计模式》。
(7) 程杰的《大话设计模式》。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述