设计模式-概述篇

1. 掌握设计模式的层次

  • 第1层:刚开始学编程不久,听说过什么是设计模式
  • 第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道
  • 第3层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的模式挺好用的
  • 第4层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处
  • 第5层:代码写着写着,自己都没有意识到使用了设计模式,并且练的写了出来

2. 介绍

  • 设计模式是程序员在面对同类软件工程设计问题所总结出来的的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的
  • 设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度
  • 设计模式并不局限于某种语言,java、php、c++都有设计模式

3. 类型

  • 设计模式分为三种类型,共23种
    • 创建型模式:单例模式 、抽象工厂模式、原型模式、建造者模式、工厂模式
    • 结构型模式:适配器模式、桥接模式、装饰模式 、组合模式、外观模式、享元模式、代理模式
    • 行为型模式:模版方法模式、命令模式、访问者模式、迭代表器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)
相关推荐
如意猴8 分钟前
【C++】007 C/C++ 内存管理机制、malloc与new的区别及模板初阶
java·c++·算法
朝朝辞暮i11 分钟前
C++ 第 32 课:main()、rclcpp::init()、spin()、shutdown()
开发语言·c++·算法
可乐鸡翅yeah_18 分钟前
HLS 分片过期清理,直播旧 TS 分片磁盘爆满问题处理
java·后端·spring·m3u8·m3u8在线·音视频在线播放
旋生万物30 分钟前
螺旋角分布的功率谱分析:多窗谱 + FDR 校正
开发语言·python
沫璃染墨42 分钟前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
时间的拾荒人1 小时前
Qt 窗口系统详解:从菜单栏到对话框的完整指南
开发语言·qt·面试
专业程序开发源1 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
用户094248568031 小时前
第23章:OpenJDK逃逸分析、标量替换与锁优化
java·jvm
wuminyu1 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
晚安code1 小时前
设计模式入门:吃透 SOLID 原则与迪米特法则,再学 5 个高频模式
后端·设计模式