装饰器模式、适配器模式、代理模式

装饰器模式通过实现接口的方式实现。并且在使用的时候制定装饰对象,
代理模式通过继承实现或者通过实现接口的方式实现,在使用时,client不知道隐藏了被代理的对象,重在隐藏未知属性。具体如博文:

一个是指定要装饰的对象,一个是不知道被代理对象的存在。


在装饰器模式和代理模式之间还是有很多差别的。装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。

        我们可以用另外一句话来总结这些差别:使用代理模式,代理和真实对象之间的的关系通常在编译时就已经确定了,而装饰者能够在运行时递归地被构造。    


装饰器模式的主要应用对象:JAVA的io流


类的适配器模式:继承一个实体类,实现一个借口。继承时默认有了父类的方法,实现接口时需要重写接口的方法,这样适配器就有了所有的方法。
对象的适配器:适配器里实现一个接口。并且适配器里有一个源对象。接口里面有源对象一样的同名的方法。适配器因为实现了接口,所以重写了里面的方法。然后因为在适配器里有源对象,所以让适配器里的源对象同名的方法直接调用源对象的方法。详细见javabase的适配器2.



转载于:https://my.oschina.net/91jason/blog/295348

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值