设计模式学习优质网站分享: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. 代码示例:各种语言实现该设计模式的具体实现。

额外的提示

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

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

  • 点击 "保存" 按钮,会将一个 "命令对象" 通过弩箭发送出去(并且可以源源不断产生更多的命令对象)
  • 另一侧接受者接收到命令对象,并进行相关的操作
相关推荐
Ronin-Lotus4 分钟前
上位机知识篇---ROS2命令行命令&静态链接库&动态链接库
学习·程序人生·机器人·bash
Kasper01211 小时前
认识Django项目模版文件——Django学习日志(二)
学习·django
等一场春雨2 小时前
Java设计模式 八 适配器模式 (Adapter Pattern)
java·设计模式·适配器模式
索然无味io2 小时前
XML外部实体注入--漏洞利用
xml·前端·笔记·学习·web安全·网络安全·php
一弓虽2 小时前
java基础学习——jdbc基础知识详细介绍
java·学习·jdbc·连接池
五味香3 小时前
Java学习,List 元素替换
android·java·开发语言·python·学习·golang·kotlin
晚秋贰拾伍3 小时前
设计模式的艺术-命令模式
运维·设计模式·运维开发·命令模式·开闭原则
ZoeLandia4 小时前
从前端视角看设计模式之行为型模式篇
前端·设计模式
Clockwiseee4 小时前
docker学习
学习·docker·eureka
晚秋贰拾伍5 小时前
设计模式的艺术-迭代器模式
设计模式·迭代器模式