设计模式-概述篇

1. 掌握设计模式的层次

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

2. 介绍

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

3. 类型

  • 设计模式分为三种类型,共23种
    • 创建型模式:单例模式 、抽象工厂模式、原型模式、建造者模式、工厂模式
    • 结构型模式:适配器模式、桥接模式、装饰模式 、组合模式、外观模式、享元模式、代理模式
    • 行为型模式:模版方法模式、命令模式、访问者模式、迭代表器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)
相关推荐
lisin-lee-cooper8 分钟前
简单聊聊 OpenFeign 框架源码
java·微服务
Buke..23 分钟前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法
半生过往1 小时前
前端学 Java 课程笔记
java·前端·笔记
longxiaozhang61 小时前
C#运算符重载:让对象也能使用“加减乘除”
开发语言·c#
mmsx1 小时前
基于 Android 的校园信息管理系统源码
android·java·okhttp
mounter6251 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel
Buke..1 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
竹枝溪1 小时前
Tomcat与Servlet全套小白教程
java·servlet·tomcat·cookie·filter·session·listener
abcefg_h2 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
梦痕长情2 小时前
记一次关于AI在数仓中的应用
开发语言·人工智能·python·ai