Java设计模式有哪些
Java设计模式共有23种,分别为:抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、责任链模式。
1、抽象工厂模式是提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。
2、建造模式是将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式定义一个创建对象的接口,让子类决定实例化那个类。
4、原型模式是用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。
5、单例模式,它的定义就是确保某一个类只有一个实例,并且提供一个全局访问点。
6、外观模式提供了一个统一的接口,用来访问子系统中的一群接口。
7、适配器模式是将一个类的接口,转换成客户期望的另一个接口。
8、桥接模式是讲抽象部分和实现部分隔离开来,使得他们能够独立变化。
9、组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。
10、装饰模式:动态的给对象添加新的功能。
11、享元模式就是运行共享技术有效地支持大量细粒度对象的复用。
12、代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。
13、命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。
14、解释器模式就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。
15、访问者模式即在不改变数据结构的前提下,增加作用于一组对象元素的新功能。
16、迭代子模式是提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。
17、中介者模式就是用一个中介对象来封装一系列的对象交互。
18、备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态。
19、观察者模式定义了对象之间的一对多依赖关系。
20、状态模式就是允许对象在内部状态发生改变时改变它的行为。
21、策略模式就是定义了算法族,分别封装起来,让他们之前可以互相转换。
22、模板方法模式就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。
23、责任链模式是将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会。
Java设计模式有哪些相关推荐
- java备忘录模式应用场景_图解Java设计模式之备忘录模式
图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...
- JAVA 设计模式 模板方法模式
定义 模板方法模式 (Template Method) 定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成. 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模 ...
- Java设计模式之策略模式与状态模式
一.策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化. 好了,定义看看就完了,我知道你很烦看定义. 二.策 ...
- JAVA 设计模式 享元模式
用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构 图-享元模式结构图 Flyweight : 它是所有具体享元类的超类或接口,通过这个 ...
- java设计模式 观察者模式_理解java设计模式之观察者模式
在生活实际中,我们经常会遇到关注一个事物数据变化的情况,例如生活中的温度记录仪,当温度变化时,我们观察它温度变化的曲线,温度记录日志等.对于这一类问题,很接近java设计模式里面的"观察者模 ...
- Java设计模式-七大设计原则
Java设计模式 设计模式七大原则 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码 ...
- Java设计模式(备忘录模式-解释器模式-状态模式-策略模式-职责链模式)
Java设计模式Ⅶ 1.备忘录模式 1.1 备忘录模式概述 1.2 代码理解 2.解释器模式 2.1 解释器模式概述 3.状态模式 3.1 状态模式概述 3.2 代码理解 4.策略模式 4.1 策略模 ...
- Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)
Java设计模式Ⅶ 1.访问者模式 1.1 访问者模式概述 1.2 代码理解 2.迭代器模式 2.1 迭代器模式概述 2.2 代码理解 3.观察者模式 3.1 观察者模式概述 3.2 代码理解 4.中 ...
- Java设计模式(代理模式-模板方法模式-命令模式)
Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...
- Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...
最新文章
- 标准C++中的string类的用法总结
- 使用Keras计算余弦相似度(Cosine Similarity)
- git 常用操作总结
- Oracle - 行转列, 列转行
- 错误 C2664 “int WideCharToMultiByte......”: 无法将参数 3 从“CString”转换为“LPCWCH” 的问题解决
- DRF框架—序列化器中的字段校验规则
- 长春理工大学第十四届程序设计竞赛
- day24 01 初识继承
- 求整数的和与均值(信息学奥赛一本通-T1061)
- (转) 淘淘商城系列——Redis的安装
- 前端开发学习路线图,完整学习教程+工具+框架
- ArcGIS学习总结(四)——缓冲区分析应用
- ATtiny85 制作迷你小游戏机
- java 坐标纠偏_[Java教程]Java百度地图经纬度纠偏
- 手机向服务器发信息吗,给手机发短信
- 【模块】MAX31865 铂电阻温度检测器模块 RTD传感器PT100-PT1000
- 计算年龄:sql计算
- 电路图:MC34063 2.2V-6V升压到7V电路
- 一文读懂 UniProt 数据库(2023 最新版)
- 脉冲宽度调制(Pluse Width Modulation)
热门文章
- 谷歌深圳开办事处,想应聘?先来看看谷歌招过什么样的实习生
- 5G NR UE antenna panel
- 【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
- 语句摘抄——第24周
- Adobe illustrator插件开发-Color-颜色空间-AIColorSpaceSuite-自定义颜色-AICustomColorSuite-AIColorConversion-AI插件开发
- Qt实现保存、浏览、预览、打印功能
- HDMI 3切1 切换器芯片
- 为SpringBoot Admin加上登录认证
- 口袋妖怪letsgo服务器维护,口袋妖怪letsgo新手玩法-新手攻略分享-可可网
- idea运行html显示空白,idea jsp html 空白页的问题