外观模式浅析

外观模式是我们封装API的常用手段,比如在我们开发各种SDk的时候

外观模式定义: 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,外观模式提供一个高层次的接口,使得子系统更加易于使用

UML图:
这里写图片描述

实例代码实现

系统A定义

public interface ISystemA {

    /**
     * 系统A的一些内部操作
     */
    public void operate();
}

系统A实现

public class SystemAImpl implements ISystemA {

    @Override
    public void operate() {
        System.out.println("系统A的内部操作!");
    }
}

系统B定义

public interface ISystemB {

    /**
     * 系统B的一些内部操作
     */
    public void operate();
}

系统B实现

public class SystemBImpl implements ISystemB {
    @Override
    public void operate() {
        System.out.println("系统B的内部操作!");
    }
}

系统C定义

public interface ISystemC {

    /**
     * 系统C的一些内部操作
     */
    public void operate();
}

系统C实现

public class SystemCImpl implements ISystemC {
    @Override
    public void operate() {
        System.out.println("系统C的内部操作");
    }
}

系统封装统一对外提供接口

/**
 * 各个系统统一对外暴露的一个face类
 */
public class Facede {

    private ISystemA mSystemA = new SystemAImpl();
    private ISystemB mSystemB = new SystemBImpl();
    private ISystemC mSystemC = new SystemCImpl();

    public void operateA(){
        mSystemA.operate();
    }

    public void operateB(){
        mSystemB.operate();
    }

    public void operateC(){
        mSystemC.operate();
    }
}

代码操作

    public static void main(String[] args) {

        Facede facede = new Facede();
        //操作系统A
        facede.operateA();
        //操作系统B
        facede.operateB();
        //操作系统C
        facede.operateC();
    }

好了外观设计模式到此结束系统对你有帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值