`

外观模式/门面模式Facade 为了更好地划分访问的层次

阅读更多
public interface AModuleApi {
  public void testA();
}

public class AModuleImpl implements AModuleApi {
  public void testA() {
    System.out.println("testA");
  }
}

public interface BModuleApi {
  public void testB();
}

public class BModuleImpl implements BModuleApi {
  public void testB() {
    System.out.println("testB");
  }
}

public interface CModuleApi {
  public void testC();
}

public class CModuleImpl implements CModuleApi {
  public void testC() {
    System.out.println("testC");
  }
}

public class Facade {
  public void test() {
    AModuleApi a = new AModuleImpl();
    a.testA();
    BModuleApi b = new BModuleImpl();
    b.testB();
    CModuleApi c = new CModuleImpl();
    c.testC();
  }
}

在客户端可以直接使用下面代码:
new Facade().test();

有外观,可以不使用,直接调用模块方法。

也可以吧Facade实现成interface.此时还需要一个得到Facade接口对象的工厂。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics