zoukankan      html  css  js  c++  java
  • 代理模式(Proxy)

    代理模式(Proxy)


    代理模式:简单明了。简称代理商,对代理这个词想必大家都不陌生,现在微信上,几乎全是各种代理商,哈哈哈。。。不错。我们的代理模式,也是如此。用java语言来说。就是,替原对象进行一些操作。比如:律师,打官司人家比咱们懂,因此代理模式也是如此,它可以替我们进行一些操作。

    废话少说。直接代码走起,

    public interface hundsun {  
        public void method();  
    }
    
    public class baofoo implements hundsun{  
      
        @Override  
        public void method() {  
            System.out.println("the original method!");  
        }  
    }  
    
    public class Proxy hundsun {  
      
        private baofoo source;  
        public Proxy(){  
            super();  
            this.source = new baofoo();  
        }  
        @Override  
        public void method() {  
            before();  
            source.method();  
            atfer();  
        }  
        private void atfer() {  
            System.out.println("after proxy!");  
        }  
        private void before() {  
            System.out.println("before proxy!");  
        }  
    }    
    
    
    测试
    public class ProxyTest {  
      
        public static void main(String[] args) {  
            hundsun source = new Proxy();  
            source.method();  
        }  

    结果输出

    输出:
    
    before proxy!
    the original method!
    after proxy!

    总结:

    代理模式的应用场景:

    如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法:

    1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。

    2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是代理模式。

    使用代理模式,可以将功能划分的更加清晰,有助于后期维护!

    其实大家看了我写的这么多设计模式有没有发现一点。java的设计模式大多数。离不开java面向对象的三大特征。封装,继承。多态。这些模式的设计大多数,就是在这三者之间来回转换,来回调用。归其原因,是为什么呢。哈哈哈。。。没错,java有种特殊的机制。向上转型的机制。这些模式的设计归其根本就是利用了。这 种机制来完成我们所说的大多数模型。既然什么技术都没有用到。然而仅仅是写法不同,设计出来的也不一样。因此。在这里再次告诫大家。一定搞懂需求的情况下。再去设计。因为这直接关乎着你这整个系统的维护性,易用性。健壮性,灵活性。因此,需要深刻领悟六大设计原则。

    哈哈哈。。。 错别字在所难免。领悟含义就行了。

  • 相关阅读:
    nginx高性能WEB服务器系列之九--nginx运维故障日常解决方案
    nginx高性能WEB服务器系列之一简介及安装
    nginx高性能WEB服务器系列之八--nginx日志分析与切割
    nginx高性能WEB服务器系列之七--nginx反向代理
    nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
    nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置
    nginx高性能WEB服务器系列之四配置文件详解
    nginx高性能WEB服务器系列之三版本升级
    nginx高性能WEB服务器系列之二命令管理
    阿里云平台微信告警(基于收费平台)
  • 原文地址:https://www.cnblogs.com/huojg-21442/p/6951657.html
Copyright © 2011-2022 走看看