10、结构型模式-代理设计模式

2021-07-18  本文已影响0人  日落_3d9f

1、加盟商来啦-你需要掌握的代理设计模式

简介:讲解代理设计模式,让代理帮你完成工作

代理设计模式(Proxy Pattern)

应用场景

代理设计模式

角色

代理设计模式UML图

业务需求

小滴课堂-老王,想开个数码小卖部,为以后退休生活做准备,代理各大厂商的手机和电脑,用代理设计模式帮他实现下:
Subject 卖手机
RealProject 苹果、华为厂商,核心是卖手机,但是选址不熟悉
Proxy 老王数码专卖店:代理卖手机,附加选地址,增加广告等

编码实战
抽取公共的方法

public interface DigitalSell {
    void sell();
}

真实的对象

public class DigitalSellReal implements DigitalSell{
    @Override
    public void sell() {
        System.out.println("销售华为手机");
    }
}

代理对象,增加了功能:

public class DigitalSellProxy implements DigitalSell {
    private DigitalSell realObj = new DigitalSellReal();
    @Override
    public void sell() {
        makeAddress();
        realObj.sell();
        makeAD();
    }
    private void makeAddress(){
        System.out.println("一个人流量很高的地址");
    }
    private void makeAD(){
        System.out.println("投放广告");
    }
}

main方法

public class Main {
    public static void main(String[] args) {
        //真实对象的行为
        DigitalSell realObj = new DigitalSellReal();
        realObj.sell();
        //代理对象的行为
        DigitalSell proxy = new DigitalSellProxy();
        proxy.sell();
    }
}

执行结果:

销售华为手机
一个人流量很高的地址
销售华为手机
投放广告

上一篇下一篇

猜你喜欢

热点阅读