`
翩跹吉吉
  • 浏览: 102385 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java设计模式---代理模式

阅读更多

 

      我们来继续学习java设计模式比较重要的一个设计模式-代理模式,这是我们学习的第三个比较重要的设计模式了,大家可能觉得这些设计模式非常虚幻,特别是一些比较复杂的设计模式,其实是这样的,记得我以前在学设计模式的时候也是整天腾云驾雾,觉得听起来既无聊又虚幻,除了一两个我们会经常用的,其余的在实际项目中我们根本不会涉及,大家其实在进入工作初期也不必把各个设计模式一一掌握,掌握几个经常用的就可以了!

 

     代理模式:为其他对象提供代理,控制对象的访问。

 

     代理模式作用:隐藏与业务无关的信息或访问。

 

     下面是一个简单的代理模式的结构图:

 

 

 

 

  简单代理模式实现步骤:

 

        1.真实对象与代理对象都要继承或实现抽象对象;

        2.代理对象把真实对象组合进来;

        3.代理对象委派真是对象方法;

        4.代理对象扩展新代码。

 

  简单代理模式实现代码:

 

      抽象主题:

         

package com.ooad.proxy;

/**
 * 抽象主题
 * @author Administrator
 *
 */
abstract class  Subject {

	public abstract void proxyMethod();
}

 

     真实主题:

 

package com.ooad.proxy;

/**
 * 真实主题
 * @author Administrator
 *
 */
public class RealSubject extends Subject {

	@Override
	public void proxyMethod() {
		
		System.out.println("执行主题");

	}

}

 

      代理主题:

 

     

package com.ooad.proxy;

public class ProxySubject extends Subject {
	
	private RealSubject realSubject = null;
	
	public ProxySubject(){
		realSubject = new RealSubject();
	}

	@Override
	public void proxyMethod() {
		
		System.out.println("执行代理语句");
		realSubject.proxyMethod();
		
	}

}

 

 

     测试代码:

 

    

package com.ooad.proxy;

/**
 * 测试类
 * @author Administrator
 *
 */
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Subject sub = new ProxySubject();
		sub.proxyMethod();

	}

}

 

 

 

   输出结果:

   

执行代理语句
执行主题

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics