装饰者,适配器,代理和外观模式的区别

装饰者: 封装一个对象,并提供额外的行为,用组合的方式来替代继承以扩展类的功能



适配器:封装一个对象,并提供接口的转换,主要的目的是在不修改已经存在的类的前提下,让他们可以在新的框架下面工作

image


代理模式:封装一个对象,并控制它的访问,但是代理和被代理的对象有相同的接口(在c++里面有相同的基类)

初看上去,代理模式没什么用处,因为它的接口和真正对象都是一样的,似乎毫无意义,但其实代理模式是有很多用处的

1). 用于远程访问。为远程对象创建一个本地代理,隐藏如何连接远程对象的细节,调用这个代理就和直接调用远程对象的接口一样。
2). 用于非常耗费资源和时间的资源加载,比如word文档中的大图片,大对象,创建一个虚拟代理延迟加载是一个比较好的方案,保证文档快速打开。
3). 为了访问权限的控制,创建一个保护代理。
4). 智能引用代理。可以帮助计算引用数量,缓存等。

参考 http://hi.baidu.com/%D2%F8%BA%D3%CC%FA%C0%CB/blog/item/d651c609f3ec34d23ac7633a.html


外观模式:封装许多对象,以简化它们的接口,此模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值