外观设计模式

x33g5p2x  于2022-03-07 转载在 其他  
字(1.1k)|赞(0)|评价(0)|浏览(368)

1.概念

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

2.简单实例代码

1.接口A及其实现类

  1. package com.yl.demo.design;
  2. public interface InterfaceA {
  3. public void test();
  4. }
  1. package com.yl.demo.design;
  2. public class InterfaceAImpl implements InterfaceA {
  3. @Override
  4. public void test() {
  5. System.out.println("InterfaceA...");
  6. }
  7. }

2.接口B及其实现类

  1. package com.yl.demo.design;
  2. public interface InterfaceB {
  3. public void test();
  4. }
  1. package com.yl.demo.design;
  2. public class InterfaceBImpl implements InterfaceB{
  3. @Override
  4. public void test() {
  5. System.out.println("InterfaceB...");
  6. }
  7. }

3.接口C及其实现类

  1. package com.yl.demo.design;
  2. public interface InterfaceC {
  3. public void test();
  4. }
  1. package com.yl.demo.design;
  2. public class InterfaceCImpl implements InterfaceC {
  3. @Override
  4. public void test() {
  5. System.out.println("InterfaceC...");
  6. }
  7. }

4.Facade类,客户端只需要调用Facade的方法就行,无需关心内部的实现细节

  1. package com.yl.demo.design;
  2. public class Facade {
  3. public void test() {
  4. InterfaceA interfaceA = new InterfaceAImpl();
  5. interfaceA.test();
  6. InterfaceB interfaceB = new InterfaceBImpl();
  7. interfaceB.test();
  8. InterfaceC interfaceC = new InterfaceCImpl();
  9. interfaceC.test();
  10. }
  11. }

5.测试

  1. package com.yl.demo.design;
  2. public class test {
  3. public static void main(String[] args) {
  4. Facade facade = new Facade();
  5. facade.test();
  6. }
  7. }

相关文章