设计模式——代理模式

静态代理


简单实现

1、服务接口

2、服务实现类

3、服务的抽象代理类

其中service属性属于被代理的目标

4、服务的具体代理类

5、实现代理过程

为什么要用代理模式?

比如我们将吃饭封装成一个方法,方法内容:吃饭。

当我们想把吃饭改成:洗手——吃饭——刷牙

那我们怎么改呢?改原方法?这样

吃饭(){

    洗手();

    吃饭;

    刷牙();

}

人类.吃饭

是这样改么?那么当我们发现这种方式太过于麻烦,又想改回来的时候,就将代码重新注掉呗。那么当我们想保持两种吃饭的方法又该怎么办呢?写两个吃饭的方法么?

有这样一种方式,既可以做到代码复用,又可以不用改动代码逻辑。

健康的人类

代码逻辑不用复制。也没有修改原吃饭的方法代码。

这样就把选择权交给了用户,自己到底是想成为一个健康的人,还是一个只会吃的人。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述   代理模式我们接触的就比较多了,所谓的代理模式就是,给某一个对象提供一个代理对象,并由代理对象控制对原...
    骑着乌龟去看海阅读 931评论 0 9
  • 目录 本文的结构如下: 引言 什么是代理模式 模式的结构 典型代码 代理模式分类 代码示例 代理模式和装饰者模式的...
    w1992wishes阅读 1,564评论 0 13
  • 前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则一...
    四月葡萄阅读 12,037评论 1 26
  • 今天早上和两位朋友在酒楼喝早茶,在一个多小时的聊天当中,其中有一个朋友说出了她内心的真实想法。 因为我们当时是在讨...
    内外合一阅读 117评论 0 1
  • 这本书的名字是《人生逆袭,只要做到这五步》,觉得翻译得大有标题党之嫌,所以我将其称为改变的科学。 作者约...
    牧虚戎阅读 444评论 1 4