设计模式的基本概述

一.什么是设计模式

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

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

相关推荐
qqxhb1 小时前
零基础学Java——第十一章:实战项目 - 桌面应用开发(JavaFX入门)
java·开发语言·javafx
hy.z_7771 小时前
【数据结构】链表 LinkedList
java·数据结构·链表
Akiiiira1 小时前
【数据结构】队列
java·开发语言·数据结构
程序媛学姐1 小时前
Java级联操作:CascadeType的选择与最佳实践
java·开发语言
不知几秋2 小时前
Maven
java·数据库·maven
jackson凌2 小时前
【Java学习笔记】equals方法
java·笔记·学习
TinpeaV2 小时前
websocket入门详解
java·网络·spring boot·websocket·网络协议
王有品2 小时前
Java 集合框架对比全解析:单列集合 vs 双列集合
java·windows·python
北漂老男孩3 小时前
ChromeDriver 技术生态与应用场景深度解析
java·爬虫·python·自动化
昔我往昔3 小时前
除了GC哪些地方有用到安全点
java·jvm·安全