设计模式【十二】外观模式

说明:提供对不同类的一系列操作的一个集合封装。向外提供一个高内聚的接口。

与模板方法不同的是,模板方法在抽象类中实现定义了流程,在子类中对具体进行实现。

外观模式是封装了现有类的实现,整合成一个所需的业务流程。

1、类图:

2、

 public class AsyncExport {

    private String exportType;

    public AsyncExport() {
        this.exportType = "ASYNC";
    }

    public void exportAsync() {
        System.out.println("export type:" + this.exportType);
    }
}

public class DefaultExport {

    private String exportType;

    public DefaultExport() {
        this.exportType = "Default";
    }

    public void exportDefault() {
        System.out.println("export type:" + this.exportType);
    }
}


public class SyncExport {

    private String exportType;

    public SyncExport() {
        this.exportType = "SYNC";
    }

    public void exportSync() {
        System.out.println("export type:" + this.exportType);
    }
}


public class Face {

    private SyncExport syncExport;
    private AsyncExport asyncExport;
    private DefaultExport defaultExport;

    public Face(){
        this.syncExport = new SyncExport();
        this.defaultExport = new DefaultExport();
        this.asyncExport = new AsyncExport();
    }

    public void export(){
        defaultExport.exportDefault();
        asyncExport.exportAsync();
        syncExport.exportSync();
    }

}

public class ExportTest {

    public static void main(String[] args) {
        Face face = new Face();
        face.export();
    }

}

   转载规则


《设计模式【十二】外观模式》 Euler 采用 知识共享署名 4.0 国际许可协议 进行许可。

Related Issues not found

Please contact @euler-king to initialize the comment

  目录