JavaSE之静态代理模式

来源:互联网 发布:linux系统总共有多少种 编辑:程序博客网 时间:2024/06/05 11:26

代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

举个例子,在你需要实现一个文本框,文本框里面实现计算器的加减法,如果你在文本框中输入汉字的话,就肯定会报错。

这个时候就可以使用代理类,在实现加减法之前来判断输入的是不是不符合的字符。

真实的类用来执行具体的业务,而代理类用来负责其他相关的业务,比如上面说的用来判断输入的字符是否正确。

下面用一个买水果的例子来说明简单的静态代理模式:

首先是水果接口:

public interface fruit {public void buy();}
买水果的类:

public class Buyfruit implements fruit {public void buy() {System.out.println("买水果......");}}

代理类:

public class ProxyFruit implements fruit{public Buyfruit fruit;public ProxyFruit(Buyfruit fruit){this.fruit=fruit;}public void check(){System.out.println("用来检测水果的质量......");}public void buy() {check();fruit.buy();}}

demo:

public class Demo {public static void main(String[] args) {fruit f=null;Buyfruit b=new Buyfruit();f=new ProxyFruit(b);f.buy();}}


0 0
原创粉丝点击