设计模式-概述篇

1. 掌握设计模式的层次

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

2. 介绍

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

3. 类型

  • 设计模式分为三种类型,共23种
    • 创建型模式:单例模式 、抽象工厂模式、原型模式、建造者模式、工厂模式
    • 结构型模式:适配器模式、桥接模式、装饰模式 、组合模式、外观模式、享元模式、代理模式
    • 行为型模式:模版方法模式、命令模式、访问者模式、迭代表器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)
相关推荐
桦说编程1 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅3 小时前
Java面向对象入门(类与对象,新手秒懂)
java
静水流深_沧海一粟3 小时前
04 | 别再写几十个参数的构造函数了——建造者模式
设计模式
StarkCoder3 小时前
从UIKit到SwiftUI的迁移感悟:数据驱动的革命
设计模式
初次攀爬者4 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺4 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart5 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP6 小时前
MyBatis-mybatis入门与增删改查
java
孟陬9 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端