设计模式-外观模式(面门模式)

外观模式

定义:为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。

个人理解:门面模式嘛,假如你去一家4S店订购一台法拉利,你只需要告诉给4S店具体的需求(轮毂、内饰、中控等等),你不需要去每个工厂去取配件,最后4S店会给你一台你需要的车即可(有点类似于调停者模式了)。

UML图解:

优点:简化调用过程,可以更细致的划分访问的层次,可以解耦,可以很好的体现迪米特法则。

缺点:不符合开闭原则(要修改里面的逻辑)

代码:

生产车身

//生产车身
class CarBodyImpl implements CarBody {

    //生产轮胎
    @Override
    public void createCarBody(){
        System.out.println("我在生产车身");
    }

}
interface CarBody{
    void createCarBody();
}

生产轮胎

//生产轮胎
class TiresImpl implements Tires {

    //生产轮胎
    @Override
    public void createTires(){
        System.out.println("我在生产轮胎");
    }

}

interface Tires{
    void createTires();
}

//组装,最后交付

public class Car{
    private static CarBody carBody = new CarBodyImpl();
    private static Tires tires = new TiresImpl();

    public static void main(String[] args) {
        carBody.createCarBody();
        tires.createTires();
    }
}

总结:使用这个设计模式的最终目的就是减少接口的调用

感谢:https://blog.csdn.net/wujunyucg/article/details/78856821 提供的UML图解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值