桥接模式和代理模式的区别
来源:互联网 发布:js string转timestamp 编辑:程序博客网 时间:2024/06/06 06:53
代理模式:在调用者和被调用者之间加一个间接层来控制对象间的访问,代理和被调用对象实现相同的接口,通过间接层可以做缓存,安全控制,预处理等等一系列操作,但是有一个点必须记住,就是代理类和被调用类要实现统一的这接口,这样对于客户来说,你的间接层对他就是不可见的,客户不需要知道你做了代理,他只需要你给他提供服务的接口不变即可。
桥接模式:也是组合模式中最常用的,用来分离抽象和行为,让抽象和行为能各自单独的变化。引申为如果一个类面临着几个方面的变化,我们将各个方面的变化抽离出来,定义成接口,然后再把接口组合成一个类来实现原有的功能,这里体现面向对象的两个原则(接口隔离原则、优先使用对象组合然后考虑继承)。
桥接模式可以这样来做类比,比如说人这个类,每个人都是人类的一个子类,但是每个人的行为却又不一样,如果把所有的行为都定义在人这个类里面,那么很多很多的人就会有很多很多的子类,如果我们把行为抽离出来,比如说现在有2个维度:脾气和爱好,有的人脾气好,有的人脾气坏,有的人喜欢看书,有的人喜欢看电视,如果我们把脾气和爱好作为一个类来抽象,就会产生4个子类,而且每个子类里面两个行为,如果我们把脾气和爱好抽离,就会发现,只需写两组子类,每个子类里面一个行为,然后这样组合,更急灵活,如果按照原始的方式,那么 子类的的数目会随着每个维度行为的变化倍数的增长,抽离和能减少子类,并且采用组合方式更能灵活的切换对象的行为,而不用生成新的子类。
0 0
- 桥接模式和代理模式的区别
- 代理模式和装饰模式的区别
- 代理模式和命令模式的区别
- 代理模式和策略模式的区别
- 装饰模式和代理模式的区别
- 装饰模式和代理模式的区别
- 代理模式和装饰模式的区别
- 代理模式和装饰模式的区别
- 装饰模式和代理模式的区别
- 设计模式:适配器模式和代理模式的区别
- 设计模式--代理模式--以及和装饰模式的区别
- 代理模式 静态代理和动态代理的区别
- 装饰模型和代理模式的区别
- 装饰器模式和代理模式的区别
- 装饰器模式和代理模式的区别
- 代理模式和装饰模式之间的区别
- Java 代理模式和装饰者模式的区别
- java中装饰者模式和代理模式的区别
- php基础语法之函数篇
- ros的技术准备
- CALayer
- myeclipse各菜单项说明
- 根据MAC地质反查IP工具-LanHelper
- 桥接模式和代理模式的区别
- sort,uniq,cut,wc命令详解
- Maven 修改本地库和国内库镜像
- java--04
- Java处理excel两种不同的方式
- 微信自定义分享功能
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- Fresco 与 百度地图SDK冲突解决办法
- Openstack liberty 云主机迁移源码分析之静态迁移2