设计模式的基本概述

一.什么是设计模式

1.设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案 。

2.1995 年,GoF(Gang ofFour,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称[GoF设计模式」。

二.学习设计模式的意义

1.设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

2.正确使用设计模式具有以下优点:

(1)可以提高程序员的思维能力、编程能力和设计能力。

(2)使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。

(3)使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。

3.对于一些简单的程序开发,可能写一个简单的算法可能比设计模式更有意义,所以说学习设计模式,更重要的是理解它的思想和一些应用场景,每个业务针对的场景都不一样,设计模式它不一定就是最好的。

三.设计模式的基本要素

1.模式名称

根据模式的特点、问题、解决方案、 功能、效果来进行命名,可以有效的帮助我们记忆这个模式是干嘛的,也方便讨论自己的一些设计。

2.问题

描述了这个模式应用的一些环境,什么时候该去使用这个设计模式,解释了问题和问题存在的前因后果以及满足的一些条件。(比如说单列模式就是为了解决系统开销问题)

3.解决方案

包括设计模式的组成成分,它们之间的关系是怎么样的,还有就是它们是用来干嘛的,一个模式我们可以想成就是一个模版,它可以运用于不同场合,所以说解决方案不是用来描述一个特定或具体的一个实现,而是提供一个设计的抽象描述,重点是用来解决问题。

4.效果

描述了这个模式应用的一些效果,以及该模式应该权衡的一些问题,考虑它的优缺点。

四.Fof23

1.GoF 23

一种思维,一种态度,一种进步。

2.创建型模式(让对象的创建和使用分离):
单例模式工厂模式、抽象工厂模式、建造者模式、原型模式。

3.结构型模式(让类和对象按照某种布局组成更大的结构):

适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

3.行为型模式(描述类和对象之间怎么进行相互协作,共同完成单个对象无法完成的任务):

解释器模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,模式,状态模式,策略模式,职责链模式,访问者模式。

相关推荐
鸿·蒙26 分钟前
【MyBatis 源码阅读与笔记】Mapper 接口的动态代理实现
java·mybatis
paopaokaka_luck33 分钟前
【366】基于springboot的高校物品捐赠管理系统
java·spring boot·后端
H_kiwi1 小时前
APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中
java·python·安全·flutter·macos·安全威胁分析·安全性测试
杨荧1 小时前
【开源免费】基于Vue和SpringBoot的私人健身与教练预约管理系统(附论文)
java·前端·javascript·vue.js·spring boot·spring cloud·开源
万物皆字节1 小时前
spring-webmvc根据请求路径找到对应的 HandlerMethod
java·后端·spring
飞天大拖把1 小时前
ThreadLocal原理及其内存泄漏
java
大海星辰7981 小时前
java itext后端生成pdf导出
java·pdf
黄昏_2 小时前
2024版本IDEA创建Sprintboot项目下载依赖缓慢
java·ide·intellij-idea
大G哥2 小时前
基于K8S1.28.2实验rook部署ceph
java·ceph·云原生·容器·kubernetes
阿华的代码王国2 小时前
【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案
java·开发语言·springboot