首页 > 其他分享 >设计模式

设计模式

时间:2023-11-28 10:44:06浏览次数:24  
标签:function observer brand list publish key 设计模式

var observer={
  list:[],
  subscribe:function(key,fn){
    if(!this.list[key]){
      this.list[key]=[]
    }
    this.list[key].push(fn)
  },
  publish:function(){
    const key=arguments[0]
    this.list[key].forEach(fn => {
      fn.apply(this,arguments);
    });
  }
}
observer.subscribe('huawei',function(brand,model){
  console.log(brand,model)
})
observer.subscribe('xiaomi',function(brand,model){
  console.log(brand,model)
})
observer.publish('huawei','p5011')
observer.publish('xiaomi','mi14')
observer.publish('xiaomi','mi13')

  

标签:function,observer,brand,list,publish,key,设计模式
From: https://www.cnblogs.com/howhy/p/17861341.html

相关文章

  • cocos creator中的MVC设计模式
    MVC模式非常得火,今天小编就来说说Unity或cocoscreator这类可视化+组件化开发的工具怎么来做MVC。MVC中的M指的是Model,V指的是视图,C指的是控制,接下来我们通过view,Ctrl,Model依次来说明我们基于unity/cocoscreator这类工具的MVC的开发框架中通常是怎么处理的。v......
  • 设计模式实验
    软件设计                 石家庄铁道大学信息学院 实验21:观察者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解观察者模式的动机,掌握该模式的结构;2、能够利用观察者模式解决实际问题。    [实验任务一]:股票提醒......
  • Java设计模式之命令模式
    命令模式介绍命令模式是一种行为类设计模式,核心是将每种请求或操作封装为一个独立的对象,从而可以集中管理这些请求或操作,比如将请求队列化依次执行、或者对操作进行记录和撤销。命令模式通过将请求的发送者(客户端)和接收者(执行请求的对象)解耦,提供了更大的灵活性和可维护性。下......
  • 设计模式相关复习短篇
    1--设计模式基本概念设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解、提高代码的可靠性。2--设计模式基本要素模式名称,问题,解决方案,效果模式别名,模式的分类,模式的适用性,模式角色,模式实例,模......
  • 设计模式之原型模式
    原型模式指的是,从对象copy一个对象到另一个对象浅拷贝:类对象copy的时候使用的是地址,基础类型会进行数据拷贝深拷贝:基础数据类型以及类对象都会进行数据copyspring创建对象的时候,可以选择单例,也可以选择原型模式原始的copy方式:需要拷贝的类@Getter@Setter@NoArgsConstru......
  • 创建型设计模式05-抽象工厂模式
    1、抽象工厂模式介绍抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,围绕一个超级工厂创建其他工厂,也称作为工厂的工厂(大工厂里的小工厂)。在抽象工厂模式中,接口负责创建一组相关对象的工厂,而不需要显式指定它们的类。这种设计模式能够将客户端与具体的实现分离,从而使得......
  • 设计模式实验19:中介者模式
    实验19:中介者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解中介者模式的动机,掌握该模式的结构;2、能够利用中介者模式解决实际问题。    [实验任务一]:虚拟聊天室在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要......
  • 设计模式实验 20:备忘录模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解备忘录模式的动机,掌握该模式的结构;2、能够利用备忘录模式解决实际问题。    [实验任务一]:多次撤销改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等......
  • Java设计模式之代理模式
    在某些情况下,我们希望通过一个中间代理来控制对某个对象的访问,这可能是因为原始对象的创建或访问涉及复杂的逻辑,或者我们想要在访问原始对象之前或之后执行一些操作代理模式提供了一个代理对象,它充当了原始的对象的替代品,以控制对原始对象的访问。代理对象与原始对象实现相同的接口......
  • Java设计模式之单例模式
    单例模式(SingletonPattern)是一种常用的设计模式,它用于限制一个类只能创建一个实例,并提供一个全局访问点。在Java中,实现单例模式的关键点包括:私有的构造函数:为了防止其他类创建该类的实例,我们需要将构造函数设为私有。静态的实例变量:我们需要一个静态的变量来存储该类的唯一......