设计模式学习优质网站分享:refactoring.guru

地址

英文版地址https://refactoring.guru/design-patterns
中文版地址https://refactoringguru.cn/design-patterns

介绍

这个网站是专门学习 设计模式软件重构 的网站

整体来说并不花哨,但我觉得他最大的优点就是:

++概念介绍得非常非常深入浅出++

这和其他很多介绍设计模式的网站或者文章有很大的不同。

我也读过设计模式经典之作 GoF 的《设计模式:可复用面向对象软件的基础》,可以说是基本读不懂。。。

每一个设计模式都大概遵循了如下的结构

  • 概念介绍

    1. 意图:这个设计模式的简短概括。一般如果对一个设计模式不了解,看着还是有一些糊涂,可以看完后面的内容在回过头来理解一下意图。
    2. 问题:通过一个实际开发中的遇到的案例,引出不使用设计模式时的困难。
    3. 解决方案:如何用该设计模式,解决上面问题中遇到的困难。
    4. 真实世界类比:通过与真实世界中事情的类比,使得对该设计模式的理解变得更加容易。
  • 如何实现

    1. xx模式结构:该设计模式的 UML 图和各部分作用的介绍
    2. 伪代码:实现该设计模式的伪代码
  • 其他补充

    1. xx模式适合应用场景:什么时候应该想到该设计模式
    2. 实现方式:具体实现的文字描述(有的时候文字描述要比记住代码或者 UML 图更加容易)
    3. xx模式优缺点:值得注意的是其缺点部分,很多介绍设计模式的资料都不会太介绍一个设计模式的缺点。
    4. 与其他模式的关系:我们经常会觉得 xx 模式和 xx 模式很像呀,他们有什么区别和联系呢,这一部分回答了这些疑问。
    5. 代码示例:各种语言实现该设计模式的具体实现。

额外的提示

这个网站的很多插图都很有意思,尝试着结合具体的设计模式理解这些插图,会让你认识得更加深刻

例如下面这幅插图是 "命令模式" 的插图。总左往右看,其含义是

  • 点击 "保存" 按钮,会将一个 "命令对象" 通过弩箭发送出去(并且可以源源不断产生更多的命令对象)
  • 另一侧接受者接收到命令对象,并进行相关的操作
相关推荐
车载测试工程师1 小时前
CAPL学习-IP API函数-2
网络·学习·tcp/ip·capl·canoe
雨中飘荡的记忆2 小时前
深入理解设计模式之适配器模式
java·设计模式
雨中飘荡的记忆2 小时前
深入理解设计模式之装饰者模式
java·设计模式
YJlio2 小时前
进程和诊断工具学习笔记(8.29):ListDLLs——一眼看清进程里加载了哪些 DLL,谁在偷偷注入
android·笔记·学习
老鼠只爱大米3 小时前
Java设计模式之外观模式(Facade)详解
java·设计模式·外观模式·facade·java设计模式
qq_172805593 小时前
Go 语言结构型设计模式深度解析
开发语言·设计模式·golang
车载测试工程师3 小时前
CAPL学习-IP API函数-1
网络·学习·tcp/ip·capl·canoe·doip
YJlio4 小时前
ShareEnum 学习笔记(9.5):内网共享体检——开放共享、匿名访问与权限风险
大数据·笔记·学习
brave and determined5 小时前
接口通讯学习(day05):智能手机的内部高速公路:揭秘MIPI CSI与DSI技术
学习·智能手机·软件工程·制造·csi·mipi·dsi
Tonya439 小时前
测开学习DAY37
学习