昨天学习新的Android编程软件—Android studio,没有写博客,今天继续补回来。今天要说的是设计模式之代理模式,听到代理模式这几个字的时候脑子就有一个大概的印象,那就是帮别人完成事情,那要怎么样在代码里面实现呢。我们先来一个例子—–今天下雪了,小明在学校没有带足够厚的衣服,于是打电话给他老子说爸我没有带厚衣服啊,冷死了啊。然后隔壁的老李今天也要去学校给他女儿送吃的,于是小明他爸让老李带一件厚的衣服给小明。老李爽快的答应了,到最后小明穿上厚衣服。可能这里说的也不太准确,先用这个例子说明吧。
下面是代理模式的UML图:
下面是代码
//定义接口
public interface SClothes {
void toshow();
}
public class She {
private String nameString;
public String getNameString() {
return nameString;
}
public void setNameString(String nameString) {
this.nameString = nameString;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return nameString;
}
}
public class Father implements SClothes {
private She she;
public Father(She she){
this.she = she;
}
@Override
public void toshow() {
// TODO Auto-generated method stub
System.out.println(she+"衣服");
}
}
public class LiUncle implements SClothes{
private Father father;
public LiUncle(She she){
father = new Father(she);
}
@Override
public void toshow() {
// TODO Auto-generated method stub
father.toshow();
}
}
import org.junit.Test;
public class DemoTest {
@Test
public void test(){
She she = new She();
she.setNameString("小明");
LiUncle l = new LiUncle(she);
l.toshow();
}
}
以上是代理模式的代码,如果写错了,望各位指出来,大家一起进步。