首页 > 其他分享 >代理,装饰,适配,桥接,面孔的区别

代理,装饰,适配,桥接,面孔的区别

时间:2022-12-05 17:12:16浏览次数:58  
标签:桥接 适配 object when but 面孔 接口 interface

代理,装饰,适配,桥接,面孔的区别

  • Proxy could be used when you want to lazy-instantiate an object, or hide the fact that you're calling a remote service, or control access to the object.
    • 你想要当你想要延迟实例化一个对象,隐藏远程调用服务,或控制访问
  • Decorator is also called "Smart Proxy." This is used when you want to add functionality to an object, but not by extending that object's type. This allows you to do so at runtime.
    • 又叫智能代理模式。当你想要给一个对象添加功能,但是不能扩展类型。你可以在运行的时候这样做
  • Adapter is used when you have an abstract interface, and you want to map that interface to another object which has similar functional role, but a different interface.
    • 当你有一个抽象的接口,你希望将该接口映射到另一个具有类似功能角色,但接口不同。
  • Bridge is very similar to Adapter, but we call it Bridge when you define both the abstract interface and the underlying implementation. I.e. you're not adapting to some legacy or third-party code, you're the designer of all the code but you need to be able to swap out different implementations.
    • 和适配器非常像,但是当定义抽象接口和底层实现时我们可以用桥接。例如:你没有需要继承与他人,或第三方的代码,你自己设计所有的代码,你需要在不同的底层实现之间切换。
  • Facade is a higher-level (read: simpler) interface to a subsystem of one or more classes. Suppose you have a complex concept that requires multiple objects to represent. Making changes to that set of objects is confusing, because you don't always know which object has the method you need to call. That's the time to write a Facade that provides high-level methods for all the complex operations you can do to the collection of objects. Example: a Domain Model for a school section, with methods like countStudents(), reportAttendance(), assignSubstituteTeacher(), and so on.
    • 一个或多个类的子系统组成的高级接口。假设你又一个复杂的概念,需要多个多想来表示他。对这组对象进行更改是令人困惑的,因为你不知道你需要调用哪一个方法。这个时候使用面孔模式,它为您可以对对象集合的所有复杂操作提供了一个高级方法。

原文

可以理解为除了桥接以外,其他模式都善于处理客户端代码到非我写的代码之间的关系。

标签:桥接,适配,object,when,but,面孔,接口,interface
From: https://www.cnblogs.com/shangmo/p/16952842.html

相关文章

  • 源码解析:Dubbo3 的 Spring 适配原理与初始化流程
    Dubbo国内影响力最大的开源框架之一,非常适合构建大规模微服务集群的,提供开发框架、高性能通信、丰富服务治理等能力。同时Dubbo无缝支持Spring、SpringBoot模式的开......
  • 基于scale的自适应适配方案
    在CSS3中,我们可以使用transform属性的scale()方法来实现元素的缩放效果。缩放,指的是“缩小”和“放大”的意思。transform:scaleX(x);/沿x轴方向缩放/transform:sca......
  • 共筑未来 | 思腾合力加入光合组织,完成国产信创兼容适配
    近日,思腾合力正式加入海光产业生态合作组织(简称“光合组织”)。思腾将积极与各成员单位开展多维度合作,从芯片层对软硬件产品进行深度优化,围绕行业应用场景和技术应用场景打造......
  • vue2PC端和移动端适配
    之前ui给pc端的设计稿是1920*1080,并没有提过要写移动端网站,所以之前一直做的是pc端。1,安装flexible和postcss-px2rem(命令行安装)npminstalllib-flexible--savenp......
  • 责任链,桥接,适配器,单例,命令哪个设计模式你最常用呢
    设计原则一、你都了解哪些设计原则,你对这些设计原则有哪些心得1、单一职责原则4、依赖倒置原则2、开闭原则5、里氏替换原则3、接口隔离原则6、迪米特法则1、单一......
  • SpringBoot 适配 MyBatis 分页插件功能(自定义拦截器方式)
    文章目录​​1.自定义分页插件​​​​1.1.application.properties添加mybatis属性​​​​1.2.mybatis-config.xml配置文件​​​​1.3.分页拦截器类PagePlugin​......
  • 适配动态 | 11月份SequoiaDB与8款产品完成互认证
    11月,巨杉数据库与超聚变、金仕达、方正国际、鸿数科技、爱数、轻流6家合作伙伴的8款产品完成互认证工作,上下游生态不断完善。数据库是数字经济建设的基础,良好的生态建设能......
  • vmware虚拟机三种网络模式(桥接、NAT、仅主机)带图详解
    文章目录说明三种网络模式介绍Bridge桥接模式说明设置vmware网络适配器虚拟机网络修改为桥接模式查看桥接物理网卡IP信息虚拟机中配置ip特殊说明NAT网络地址转换说明设置......
  • 设计模式-适配器模式
    简单介绍适配器模式(AdapterPattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为......
  • 设计模式-桥接模式
    前言当我们要实现不同类型手机(全面屏、水滴屏、刘海屏)的不同品牌(华为、小米、Vivo)的各种操作时(开机、关机、上网,打电话)那么通过编程的实现如下!通过类图的形式如下!这种普......