设计模式GOF23——外观模式

来源:互联网 发布:开淘宝店收益怎么样 编辑:程序博客网 时间:2024/06/05 17:39

外观模式(facade)是结构性模式的一种,也有人称它为门面模式。结构型模式的核心作用是从程序的结构上实现低耦合,从而可以扩大整体的类结构,用来解决更大的问题。

模式的核心

外观模式的核心就是为子系统提供统一的入口,封装系统的复杂性,便于客户端调用。

模式角色

外观角色:在客户端可以调用它的方法,它会把客户端调用需要的操作放在一起,并且封装起来,对外不暴露细节。
子系统角色:子系统是客户端使用该功能的时候需要调用的对象们。

模式的实现

//外观角色public class Tour {    //子系统的调用和子系统的操作封装    public void myTour(){        Hotle h = new Hotle();        h.reserve();        Spots s = new Spots();        s.buyTicket();        Transport t = new Transport();        t.buyTickets();    }}//子系统角色class Hotle{    //子系统角色中需要调用的方法    public void reserve(){        System.out.println("预定本家酒店");    }}//子系统角色class  Spots {    //子系统角色中需要调用的方法    public void buyTicket(){        System.out.println("购买了本景点的票");    }}//子系统角色class  Transport{    //子系统角色中需要调用的方法    public void buyTickets(){        System.out.println("购买了来回的车票");    }}

模式的评价

外观模式是设计模式中用的比较多的一个。它非常符合迪米特法则,将操作的具体实现细节隐藏起来,降低耦合,减少复杂度。而且它有利于单一职责原则,让类专注的只做自己这一层次的功能。它还提高了便捷性,客户端无需处理操作的细节中的逻辑,只需要调用外观角色即可。

0 0
原创粉丝点击