设计模式之三----结构模式

设计模式之三----结构模式

结构型模式

这类模式介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。

简介如下图所示:
请添加图片描述

  • 适配器模式请添加图片描述

    适配器模式的主要作用就是把原本不兼容的接口,通过适配器修改做到统一。就像我们日常生活中的万能充、数据线、插头转换器等,它们都是为了适配各种不同的接口,做的兼容。在业务开发中我们会经常需要做不同接口的兼容,尤其是中台服务,中台需要把各个业务线的各种类型服务做统一包装,再对外提供接口进行使用。

  • 桥接模式

请添加图片描述桥接模式的主要作用就是通过将抽象部分与实现部分分离,把多种可匹配的使用进行组合。也就是A类中含有B类接口,通过构造函数传递B类的实现,这个B类就是设计的桥。JDBC多种驱动程序的实现、同品牌类型的台式机和笔记本平板、业务实现中的多类接口同组过滤服务等,这些场景都比较适合使用桥接模式进行实现。

  • 组合模式

请添加图片描述
组合模式就是把相似对象组合成一组可被调用的结构树对象。这种设计方式可以让你的服务组节点进行自由组合对外提供服务。

  • 装饰器模式

请添加图片描述
装饰器模式的核心就是在不改原有类的基础上给类新增功能。
像new BufferedReader(new FileReader(“”));这种一层嵌套一层的使用方式就是装饰器模式的一种体现。

  • 外观模式

请添加图片描述

外观模式也叫门面模式,主要解决的是降低调用方的使用接口的复杂逻辑组合。实际的接口提供方提供一个中间层,用于包装逻辑提供API接口。
这样的模式在我们的所⻅见产品功能中也经常遇到,就像之前注册一个网站时候往往要添加很多信息,包括;姓名、昵称、手机号、QQ、邮箱、住址等等,但现在注册成为一个网站的用户只需要一步即可,无论是手机号还是微信也都提供了这样的登录服务。而对于服务端应⽤用开发来说以前是提供了一个整套的接口,现在注册的时候并没有这些信息,那么服务端就需要进行接口包装,在前端调⽤注册的时候服务端获取相应的⽤户信息(从各个渠道),如果获取不到会让⽤户后续进⾏补全(营销补全信息给奖励),以此来拉动⽤户的注册量和活跃度。

  • 享元模式

请添加图片描述
享元模式,主要在于共享通用对象,减少内存的使用,提升系统的访问效率。而这部分共享对象通常比较耗费内存或者需要查询大量接口或者使用数据库资源,因而统一抽离作为共享对象使用。
在享元模式的实现中需要使用到享元工厂来进行管理这部分独立的对象和共享的对象,避免出现线程安全的问题。

  • 代理模式

请添加图片描述
代理模式主要是为某些资源的访问、对象的类的易用操作上提供方便使用的代理服务。而这种设计思想的模式经常会出现在我们的系统中,或者你用到的组件中,它们都提供给你一种非常简单易用的方式控制原本需要编写很多代码的进行使用的服务类。

参考:
重学Java设计模式.pdf(提取码: m6gr)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值