Javascript的几种常见设计模式(后续使用到后更新)

  • Post author:
  • Post category:java


设计模式

  • 是一套被反复使用,多数人知晓的经过分类编目的,代码设计经验的总结;

单体模式

  • 单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么它只能被实例化一次;
var person={
    name:'zhangsan',
    age:23,
    doSomething:function(){...}
}

工厂模式

  • 创建对象接口,根据传入的参数,生产相应得产品对象;
  • 把成员对象创建工作转交给另一个外部对象,消除对象之间的耦合性;

单例模式

  • 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如全局缓存、浏览器的window对象。在js开发中,单例模式的用途同样非常广泛。(闭包)

观察者模式(发布订阅模式)

  • 微博里面粉丝博主功能,比如小A,小B,小C都关注了我的博微博,当我的博微博一有更新时,就会统一发布给他们这三个人,就会通知这些订阅者
  • 流程如下:

    • 1.确定谁是发布者;
    • 2.然后给发布者添加一个缓存列表,用于存放回调函数来通知订阅者回调函数
    • 3.发布消息,发布者需要遍历这个缓存列表,依次触发里面存放的订阅者回调函数
    • 4.退订(如不想接收这些订阅者信息,取消关注即可)

策略模式

  • 场景:超市促销,vip为5折,老客户3折,普通顾客没折,计算最后需要支付的金额
  • 正常我们用if-else if-else实现,不好维护,添加多一个用户类型时需要添加else-if;
  • 当我有其他方面的折扣时,又或者我活动的折扣时经常变化的,这样就要不断的修改if..else里面的条件了



版权声明:本文为qq_41942302原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。