代理模式,个人认为就是把你要使用的一个对象尽享封装,包装。编程原对象的一个副本,在使用的时候直接使用他这个副本就可以了!他的作用用专业点的语言描述就是为其他的对象提供一个代理方便控制这个对象。当我们不能直接调用另外一个对象,但是又不得不用这个对象的某些功能,此时代理对象就能起到链接客户和目标对象的一个代理.
代理模式一般涉及到三个角色,分别为:
1. 抽象角色:他提供真实对象和代理对象的共同接口。
2. 代理角色:通俗地说,代理角色是对原对象(目标对象)进行包装,他有着和原对象相同的接口,并且可以执行真实对象的操作。
3. 真实角色:即目标对象,最终我们需要对他的操作。
代理模式分为两种,一 ...
昨天讨论了Adapter模式的一种情况Object Adapter,他比较适用于某些时候的二次开发,但我们拿到某一个组件的class文件,没有源码,只有功能列表的情况时,某些时候整合需要Object adapter。Adapter还有另外一种情况 Class Adapter。
我们现在的程序使用接口 PutBags
public interface PutBags {
public void putAllBags();
}
如果我们有一个类的class文件PutFootBall,而无法适用其源码。只能适用其中的putAllFootBall()方法。
public class ...
Adapter模式使原本由于接口不兼容而不能在一起工作的类可以一起工作,即为一个内容合适但接口不匹配的对象创建一个新的接口.Adapter模式让现存的对象适应新的类结构,而不受他们的接口限制.
例如现在,我们有一个球袋类BasketballBag负责完成装入篮球。
public class BasketballBag{
public void putBasketball(){
System.out.println("Put in BasketBall....");
}
}
有一个专门负责装入操作的类的方法putBalls()来调用Basketba ...
最近遇到一个需求,是要对一个类增加一些新的功能,原则上讲是不改变这个类的代码,不改变这个类的继承关系。以前了解过Decorator模式,所以特意又深入学习一会。
什么时候需要Decorator模式:它的主要功能是不改变类的代码和继承关系,为这个类增加功能。
例如我要计划做一件事情(例如 打印某段文字)
public class DoWork(){
public void doWork(){
System.out.prinln("Do Work.....");
}
}
]
可是由于工作变化,我需要在DoWork之前做另外一件事(打印一段特殊文字),并 ...
- 浏览: 6399 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Adapter模式(Class Adap ...
我觉得不如改成这样: public class Put implements ...
-- by bloodrate -
Decorator模式
还是要修改啊,原来得dowork不实现接口啊
-- by bloodrate -
Adapter模式(Class Adap ...
putBall(); 哪儿呢?
-- by xql80329 -
Decorator模式
希望以后发的时候能够注意一下错误
-- by xql80329 -
Decorator模式
jbon 写道看上去更像代理模式 赞同!!
-- by weili788






评论排行榜