博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代理模式(Proxy)
阅读量:4613 次
发布时间:2019-06-09

本文共 1501 字,大约阅读时间需要 5 分钟。

代理模式(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有种特殊的机制。向上转型的机制。这些模式的设计归其根本就是利用了。这 种机制来完成我们所说的大多数模型。既然什么技术都没有用到。然而仅仅是写法不同,设计出来的也不一样。因此。在这里再次告诫大家。一定搞懂需求的情况下。再去设计。因为这直接关乎着你这整个系统的维护性,易用性。健壮性,灵活性。因此,需要深刻领悟六大设计原则。

 

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

 

转载于:https://www.cnblogs.com/huojg-21442/p/6951657.html

你可能感兴趣的文章
Heartbeat+LVS构建高可用负载均衡集群
查看>>
多表查询
查看>>
springMVC_数据的处理过程
查看>>
ORM + Mysql配置
查看>>
18 python 初学(time、random 模块)
查看>>
那些年我们扔过的漂流瓶
查看>>
javascript:巧用eval函数组装表单输入项为json对象
查看>>
2.grep、awk、sed、cut处理文本
查看>>
为什么我们叫雪狼队
查看>>
wpf button变成圆角
查看>>
测试开发学习进阶教程 视频&PDF
查看>>
C#基础-连接Access与SQL Server
查看>>
autofac
查看>>
MacOS 系统终端上传文件到 linux 服务器
查看>>
Excel导出POI
查看>>
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>
网络编程基础之socket编程
查看>>
[转] 利用shell创建文本菜单与窗口部件的方法
查看>>