最近项目不是太忙,在看java设计模式.发现在有几个模式之间有点模糊
策略模型与状态模型
代理模型与策略模型
这三个模型在代码上好像没太大区别
策略模型与状态模型
之前看过一大神的文章 [url]http://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html[/url] 看不之后感觉不错... :D
总结出 "策略模型与状态模型" 根本区别 "状态模式"的行为是平行性的,不可相互替换的;而"策略模式"的行为是平等性的,是可以相互替换的
代理模型与策略模型
看到网上的 "代理模型" 差不多是这么写的(简单写写)
interface AInterface{
methodA();
}
class BCls implements AInterface{
methodA(){
System.out.println("aaa");
}
}
class CCls implements AInterface{
methodA(){
System.out.println("aaa");
}
}
class ProxyCls{
AInterface inter;
public ProxyCls(AInterface inter){
this.inter=iter;
}
public void show(){
inter.methodA();
}
}
class ProxyTest{
public static void main(String[] arg){
ProxyCls proxyCls=new ProxyCls(new BCls());
proxyCls.show();
}
}
这样 "代理与策略"区别在那? 如果 把ProxyCls 改成 还可以认同
class ProxyCls{
CCls inter;
public void show(){
if(inter==null){
inter=new CCLS();
}
inter.methodA();
}
class ProxyTest{
public static void main(String[] arg){
ProxyCls proxyCls=new ProxyCls();
proxyCls.show();
}
}
各位大神们有其他的理解没?小弟 求教