设计模式-----结构型模式

简介: 设计模式-----结构型模式

设计模式结构型包含:适配器模式、桥接模式、组合模式、装饰模式、享元模式、外观模式、代理模式。


关系分类


78e3904758bb9663f9b8e13122fbce58_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LC36Imz54i9ZmF5ZQ==,size_20,color_FFFFFF,t_70,g_se,x_16.jpg


适配器:将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。


比如你的电脑只能支持一个type-c接口,但是你需要一个usb接口,这时候一个转换器就可以解决这个问题,这个转换器充当的角色就是适配器。


81d3e93cb48ddb80d7519df77a6e6b1d_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LC36Imz54i9ZmF5ZQ==,size_20,color_FFFFFF,t_70,g_se,x_16.png


桥接模式:将抽象部分与它的实现部分分离,使他们都可以独立的变化


Abstraction 与Implementor类的聚合就可以看作是桥接的桥了


20b199dd6e30f626081a07a169b07254_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LC36Imz54i9ZmF5ZQ==,size_20,color_FFFFFF,t_70,g_se,x_16.png


组合模式:将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。


可以理解为总公司和分公司的关系,具体的抽象类可以就是总公司,抽象类的子类就是分公司。


组合模式的好处:组合模式定了包含基本对象组合对象的的类的层次结构。基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不段的递归下去,客代码中,任何用到基本的对象的地方都可以使用组合对象。


用户不关心到底是处理一个叶子点还是处理一个组合组件,也就用不着为定义组合而写一些选择判断语句


组合模式让客户可以一致的使用组合结构和单个对象。


b4715ae80b261fa3e7df8e77491de036_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LC36Imz54i9ZmF5ZQ==,size_18,color_FFFFFF,t_70,g_se,x_16.png


装饰模式:动态的给一个对象添加一些额外道德职责。就增加功能来说,装饰模式相比生成子类更加灵活。


外观模式:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。


享元模式:为运用共享技术有效的支持大量细粒度的对象


如果一个应用程序使用了大量的对象,而大量的这些对象造成了很大的存储开销时就应该考虑使用;还有就是对象的大多数状态可以外部状态,如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象,此时可以考虑使用享元模式。


代理模式:为其他对象提供一种代理以控制对这个对象的访问。


相关文章
|
4月前
|
设计模式 存储 缓存
【设计模式】【结构型模式】享元模式(Flyweight)
一、入门 什么是享元模式? 享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享对象来减少内存使用,特别适用于存在大量相似对象的情况。 它的核心思想是将对象的内在状态(不变
169 16
|
4月前
|
设计模式 Java 数据库连接
【设计模式】【结构型模式】代理模式(Proxy)
一、入门 什么是代理模式? 代理模式(Proxy Pattern)是一种结构型设计模式,允许你提供一个代理对象来控制对另一个对象的访问。 代理对象在客户端和目标对象之间起到中介作用,可以在不改变目标对
102 10
|
4月前
|
设计模式 Java 定位技术
【设计模式】【结构型模式】组合模式(Composite)
一、入门 什么是组合模式 组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表示“部分-整体”的层次关系。组合模式使得客户端可以统一处理单个对象和组合对
133 10
|
4月前
|
关系型数据库 Java MySQL
【设计模式】【结构型模式】桥接模式(Bridge)
一、入门 什么是桥接模式? 桥接模式(Bridge Pattern)是一种结构型设计模式,核心思想是将抽象与实现分离,让它们可以独立变化。简单来说,它像一座“桥”连接了两个维度的变化,避免用继承导致代
282 10
|
4月前
|
设计模式 前端开发 Java
【设计模式】【结构型模式】适配器模式(Adpter)
一、入门 什么是适配器模式? 适配器模式是Java中常用的结构型设计模式,它的核心作用就像现实中的电源转换器一样---让原本不兼容的两个接口能够协同工作。 为什么要用适配器模式? 假设我们需要在电商系
110 10
|
4月前
|
设计模式 Java 数据库连接
【设计模式】【结构型模式】外观模式(Facde)
一、入门 什么是外观模式? 一种结构型设计模式,通过为子系统中的一组接口提供一个统一的高层接口(称为外观),来简化客户端与复杂子系统的交互过程。其本质是建立抽象层来隔离复杂度。 为什么要有外观模式?
196 9
|
4月前
|
设计模式 缓存 安全
【设计模式】【结构型模式】装饰者模式(Decorator)
一、入门 什么是装饰者模式? 装饰者模式(Decorator Pattern)是 Java 中常用的结构型设计模式,它能在不修改原有对象结构的前提下,动态地为对象添加额外的职责。 为什么要装饰者模式?
82 8
|
设计模式 存储 安全
Java设计模式---结构型模式
Java设计模式---结构型模式
|
设计模式 Java 应用服务中间件
设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
116 1
|
设计模式 存储 Java
【九】设计模式~~~结构型模式~~~外观模式(Java)
文章详细介绍了外观模式(Facade Pattern),这是一种对象结构型模式,通过引入一个外观类来简化客户端与多个子系统之间的交互,降低系统的耦合度,并提供一个统一的高层接口来使用子系统。通过文件加密模块的实例,展示了外观模式的动机、定义、结构、优点、缺点以及适用场景,并讨论了如何通过引入抽象外观类来提高系统的可扩展性。
【九】设计模式~~~结构型模式~~~外观模式(Java)