设计模式-概述篇

1. 掌握设计模式的层次

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

2. 介绍

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

3. 类型

  • 设计模式分为三种类型,共23种
    • 创建型模式:单例模式 、抽象工厂模式、原型模式、建造者模式、工厂模式
    • 结构型模式:适配器模式、桥接模式、装饰模式 、组合模式、外观模式、享元模式、代理模式
    • 行为型模式:模版方法模式、命令模式、访问者模式、迭代表器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)
相关推荐
白色的北极熊12 小时前
c语言 输出菱形字符串
c语言·开发语言
2501_9304724413 小时前
云安全自查清单:用腾讯云助手 30 分钟完成一次权限与密钥体检
java·腾讯云
学习智者13 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄
奔跑吧树袋熊13 小时前
多租户隔离该做到哪一层:从连接池到 ORM 的取舍
开发语言·数据库·oracle·系统架构
letisgo513 小时前
JAVA 高级进阶05篇《Spring容器机制:Bean生命周期与三级缓存全解》
java·spring·面试·ioc·源码分析
岁月如歌778613 小时前
分布式锁完全指南:从数据库到 Redisson 的演进
java·后端·架构
大江东去浪淘尽千古风流人物13 小时前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
菜鸟~noob23313 小时前
【电子战】测向精度极限——克拉美-罗下限(CRLB)与误差分析【含matlab代码】
开发语言·matlab
m0_7345717613 小时前
深入理解C++ 析构函数<二>析构顺序
开发语言·c++
AI深栈13 小时前
第 8 章 · Tool Calling 与 Tool Search
java·人工智能