再战设计模式(六)之外观模式

外观模式

外面模式也叫门面模式,它符合迪米特法则(最少知道原则)

为子系统提供一个统一的入口,降低子系统的复杂性,便于客户调用,有的同学之前有可能不知道,但是你在写代码的时候可能都在用,只不过你不知道而已.

代码:

下面类是买组件,如果一个一个买的话就需要买三次,如果是交给一个人去买,他就都给我买回来了.是不是就很简单.以后面试的时候如果面试官问你.用过什么设计模式,这个设计模式总可以说出来吧.

public class BuyTyre {

    public  void buyTyre(){
        System.out.println("buy tyre ");
    }
}
public class BuySeat {
    public  void  buySeat(){
        System.out.println("buy seat....");
    }
}
public class BuyEngine {

    public void buyEengie(){
        System.out.println("buy engine.....");
    }

}

public class BuyComponent {

    public void buySomeComponent(){
        new BuyEngine().buyEengie();
        new BuySeat().buySeat();
        new BuyTyre().buyTyre();
    }
}

public class Client {
    public static void main(String[] args) {
        BuyComponent component = new BuyComponent();
        component.buySomeComponent();
    }
}

类图:

再战设计模式(六)之外观模式

总结:

外观模式虽然很简单 ,就是对外简单,里面复杂 但是不符合OCP原则 扩展的话需要修改原来的代码