外观模式

外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Page Title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
  <script>
    class FaceShape{
      draw(){
        throw "定义抽象方法"
      }
    }

    class Rectangle extends FaceShape{
      draw(){
        console.log("Rectangle :: draw()")
      }
    }
    class Square extends FaceShape{
      draw(){
        console.log("Square :: draw()")
      }
    }
    class FCircle extends FaceShape{
      draw(){
        console.log("Circle :: draw()")
      }
    }

    class ShapeMaker{
      constructor(){
        this.circle = new FCircle();
        this.rectangle = new Rectangle();
        this.square = new Square();
      }

      drawCircle(){
        this.circle.draw();
      }
      drawRectangle(){
        this.rectangle.draw();
      }
      drawSquare(){
        this.square.draw();
      }
    }
    let shapeMaker = new ShapeMaker();
    shapeMaker.drawCircle();
    shapeMaker.drawRectangle();
    shapeMaker.drawSquare();
  </script>
</body>

</html>


<!-- 
  设计模式
  https://www.jianshu.com/p/9671deff9e5a
 -->

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值