门面模式

门面模式 Facade Pattern

子系统的外部与其内部的通信必须通过统一的对象进行

提供一个高层次的接口,使得子系统更易于使用

引入门面模式之前

我想建个房子,必须自己找泥水匠、搬运工搬砖、水泥工砌墙

image.png
引入门面模式之后

我想建个房子,直接找包头工就可以了,包头工在负责找泥水匠、搬运工搬砖、水泥工砌墙

image.png
代码实现如下
image.png
调用方
public class Client {
    public static void main(String[] args) {
        LabourContractor  labourContractor=new LabourContractor();
        labourContractor.buildHouse();
    }
}
包工头
public class LabourContractor{
    private MasonWorker worker1=new MasonWorker();
    private BrickWorker worker2=new BrickWorker();
    private BrickLayer worker3=new BrickLayer();


    public void buildHouse(){
        worker1.mix();
        worker2.carry();
        worker3.neat();
    }
}
泥瓦匠
public class MasonWorker {
    public void mix() {
        System.out.println("泥瓦匠开始和水泥!");
    }
}
砖头搬运工
public class BrickWorker {
    public void carry(){
        System.out.println("砖头我搬了,搬砖使我快乐");
    }
}
砌墙工
public class BrickLayer{
    public void neat(){
        System.out.println("有了水泥和砖,我可以愉快地砌墙了");
    }
}
运行结果

泥瓦匠开始和水泥!
砖头我搬了,搬砖使我快乐
有了水泥和砖,我可以愉快地砌墙了

门面模式

通过slf4j 实现对多种日志框架的兼容
Simple Logging Facade for Java

image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值