当前位置: 首页 > news >正文

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

额外的提示

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

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

  • 点击 “保存” 按钮,会将一个 “命令对象” 通过弩箭发送出去(并且可以源源不断产生更多的命令对象)
  • 另一侧接受者接收到命令对象,并进行相关的操作
    在这里插入图片描述
http://www.lryc.cn/news/429484.html

相关文章:

  • JVM-Java的四种引用
  • 探索《黑神话:悟空》品质保障的背后:ISO体系认证
  • ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化
  • select的缺点;poll ;poll的缺点;epoll
  • keli5_报错 Cannot Load Device Description问题
  • 算法的学习笔记—把二叉树打印成多行(牛客JZ78)
  • FreeRTOS 时间管理
  • F. Valuable Cards D. Smithing Skill
  • 【电子通识】IPC-A-600中对验收标准的定义
  • MyBatis(初阶)
  • KDP数据平台:以实战案例验证技术领先力
  • [Linux] 什么是 Shell?
  • 大模型学习应用 2:快速上手大模型基于langchain实现RAG检索应用
  • python环境安装之后,cmd输入python回车会打开微软商店
  • USB Type-C如何取9V、12V、15V、20V电压-PD快充协议芯片ECP5701
  • Go 语言 Map 17
  • 移植bash到openharmony
  • git stash详细教程
  • UDP网络攻击
  • 漏洞扫描的重要性,如何做好漏洞扫描服务
  • unity程序简易框架
  • Go小技巧易错点100例(十六)
  • 通过Golang实现中间人攻击,查看和修改https流量包
  • MySQL 安装与配置指南
  • android13布局查看工具 无源码查看布局 在线查找ui布局id
  • 【自动化测试必学语言】python:UnitTest框架
  • 大话LLM之向量数据库
  • EmguCV学习笔记 C# 2.2 Matrix类
  • [Windows CMD] 查看网络连接状态 netstat -na | findstr “TCP“
  • 「OC」视图控制器的懒加载策略