栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

代理设计模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

代理设计模式

1.什么是代理设计模式
  1. 抽象的来讲:为其他对象提供一种代理去控制这个对象的访问

  2. 形象的来讲:就是把你需完成的事,让别人帮你完成,你只需要告诉别人你的需求

  3. 应用场景:安全代理 远程代理 延迟代理

  4. 分类:静态代理、动态代理(JDK自带具体体现在反射)

2.案例演示

典型案例:你点了外卖,外卖小哥帮你送到你家,你(被代理),外卖小哥(代理人)
基于Java接口部分实现的一个小测试

2.1测试类
public class MeituanTest {
    public static void main(String[] args) {
        //new Horseman里面就是多态(MtDaily daily = new Customer())
        Horseman horseman = new Horseman(new Customer());
        //最终输出是Customer的语句
        horseman.mtFood();
        //骑手配送
        Horseman.HorDo();
        //客户点评,开吃
        Customer.cusDo();

    }
}
interface MtDaily {
    void mtFood();
}
2.2客户类
class Customer implements MtDaily {
    final String name = "吕威";
    //吕威点了这些东西,它只需要等待就行了
    @Override
    public void mtFood() {
        System.out.println(name+"点了美团外卖");
    }

    //吕威后面要做的
    public static void cusDo(){
        System.out.println("答谢骑手5星好评");
        System.out.println("打开美团外卖开始吃");
    }
}
2.3骑手类
class Horseman implements MtDaily {

    private MtDaily daily;

    public Horseman(MtDaily daily){
        this.daily = daily;
    }


    //吕威这些需求由骑手完成
    @Override
    public void mtFood() {
        daily.mtFood();
    }

    public static void HorDo(){
        System.out.println("骑手已接单");
        System.out.println("骑手配送中"+'n');
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号