外观模式
外面模式也叫门面模式,它符合迪米特法则(最少知道原则)
为子系统提供一个统一的入口,降低子系统的复杂性,便于客户调用,有的同学之前有可能不知道,但是你在写代码的时候可能都在用,只不过你不知道而已.
代码:
下面类是买组件,如果一个一个买的话就需要买三次,如果是交给一个人去买,他就都给我买回来了.是不是就很简单.以后面试的时候如果面试官问你.用过什么设计模式,这个设计模式总可以说出来吧.
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原则 扩展的话需要修改原来的代码