外观模式

外观模式

意图:为子系统中的接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得此系统更加容易使用。

创建接口

public interface Shape{
  void draw();
}

创建接口实现类

public class Retangle implements SDhape{
  public void draw(){
    System.out.println("Rectangle::draw");
  }
}
public class Circle implements SDhape{
  public void draw(){
    System.out.println("Circle::draw");
  }
}

创建外观类

public class ShapeMaker {
   private Shape circle;
   private Shape rectangle;
 
   public ShapeMaker() {
      circle = new Circle();
      rectangle = new Rectangle();
   }
 
   public void drawCircle(){
      circle.draw();
   }
   public void drawRectangle(){
      rectangle.draw();
   }
}

使用外观类

public class FacadePatternDemo {
   public static void main(String[] args) {
      ShapeMaker shapeMaker = new ShapeMaker();
 
      shapeMaker.drawCircle();
      shapeMaker.drawRectangle();    
   }
}

总结

外观类包含所有方法,使用时候直接调用函数就可以。

比如:医院窗口就是一个外观类,你去医院让你去缴费、挂号,业务员(外观类)帮你处理。

额外送的:适配器模式与外观模式之间?

适配器模式:接口都已经实现,以前公司电脑显示器用的是VGA的接口,现在公司需要新换一批电脑,DP接口的某款显示器很合适,然后卖家送你一个DP转VGA的线。
外观模式:买电脑,卖家向你介绍参数,16核CPU1T大内存,你说:说人话。卖家说:电脑好,你说买。 卖家将难用的"16核CPU1T大内存"抽象为“电脑好”的高级接口。

posted @   帅气的涛啊  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示

目录