设计模式学习笔记(12)——外观模式

本人做的设计模式学习笔记系列的博文旨在用于个人学习之用,主要记载自己对设计模式的理解及代码的实现

外观模式(Facade Pattern)

  当客户端需要和一个复杂的系统中的各种子系统进行交互时,为了方便客户端的调用工作,可以为系统加上一个对外的接口(facade),客户端只需要向此接口发说明要使用复杂系统中的哪一部分功能即可。例如我们平常到手机营业厅办理业务,我们可以办理手机套餐,存话费等业务,我们只需和前台营业员说即可,那么前台营业员就是我们所使用的整个手机服务系统的facade,具体的服务的实现流程我们不必关心。以下给出demo。

/*
 * 修改套餐类
 * */
class ChangeSet{
    public void changeSet(String setName){
        System.out.println("修改套餐为: "+setName);
    }
}

/*
 * 存话费类
 * */
class Deposit{
    public void deposit(int money){
        System.out.println("存了话费 "+money+"元");
    }
}

/*
 * 营业员类(Facade类)
 * */
class Clerk{
    private ChangeSet changeSet=new ChangeSet();
    private Deposit deposit=new Deposit();

    public void changeUserSet(String setName){
        changeSet.changeSet(setName);
    }

    public void userDeposit(int money){
        deposit.deposit(money);
    }
}

public class FacadePattern {
    public static void main(String[] args) {
        Clerk clerk=new Clerk();
        clerk.changeUserSet("套餐1");
        clerk.userDeposit(100);
    }
}

运行结果

修改套餐为: 套餐1
存了话费 100元

你可能感兴趣的:(设计模式)