设计模式-结构型模式

结构模式(7种)

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

1.适配器模式(常用,需要掌握)

定义: 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。

主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

适配器模式:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器。

类适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。

对象适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。

接口适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。

2.装饰者模式(不常用,了解即可)

定义:动态的将新功能附加到对象上。在对象功能扩展方面,它比继承更有弹性。

3.代理模式**(常用,需要掌握)**

代理模式的含义:使用代理对象来代替对真实对象的访问。

定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。

作用是:可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。

  1. 静态代理 2. 动态代理

区别是否需要实现接口(动态不需要)

4 外观模式(不常用,了解即可)

定义: 隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。

5 桥接模式(不常用,了解即可)

定义: 将抽象部分与它的实现部分分离,使它们都可以独立地变化。

6 组合模式(不常用,了解即可)

定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示"部分-整体"的关系,使用户对单个对象和组合对象具有一致的访问性。

7 享元模式(不常用,了解即可)

定义:通过共享的方式高效的支持大量细粒度的对象。

主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。

相关推荐
@大迁世界2 小时前
Vue 设计模式 实战指南
前端·javascript·vue.js·设计模式·ecmascript
数据智能老司机7 小时前
数据工程设计模式——冷热数据存储
大数据·设计模式·架构
爱学习的小熊猫_8 小时前
设计模式之责任链模式
设计模式·责任链模式
闲不住的李先森8 小时前
乐观更新
前端·react.js·设计模式
数据智能老司机11 小时前
数据工程设计模式——实时摄取与处理
大数据·设计模式·架构
Asort13 小时前
JavaScript设计模式(七)——桥接模式:解耦抽象与实现的优雅之道
前端·javascript·设计模式
原则猫15 小时前
单例模式工程运用
前端·设计模式
charlie1145141911 天前
精读C++20设计模式:行为型设计模式:中介者模式
c++·学习·设计模式·c++20·中介者模式
虫师c1 天前
分布式系统设计模式:从理论到实践
微服务·设计模式·系统架构·高可用·分布式系统
半旧夜夏1 天前
【设计模式】核心设计模式实战
java·spring boot·设计模式