![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js设计模式
weixin_41826907
越努力,越幸运
展开
-
发布订阅模式简单实现
代码 export default class Oberver { // 定义一个事件容器 event = {} subscribe (type, fn) { // 消息类型不存在 if (typeof this.event[type] === 'undefined') { this.event[type] = [fn] // 存在,将fn推...原创 2018-05-31 01:05:59 · 5236 阅读 · 1 评论 -
中介者模式
在学习javascript设计模式一书中,看到了这样一个需求: 需求要求给导航消息提示部分加个用户自定义消息提示设置,而问题是很多模块都导航,这样一个一个模块去改导航就太麻烦了,所以用到了中介者模式 虽然在vue项目中我们可以用vuex统一管理,但是这种思想还是很有必要理解的 中介者模式与发布订阅模式的区别就是: 中介者:消息在一处发布,用户只能订阅,可以通过微信公众消息推送模式理解 发...原创 2018-05-31 23:10:12 · 178 阅读 · 0 评论 -
结合享元模式思想写一个导航
享元模式:运用共享技术有效的支持大量的细粒度的对象,避免对象间拥有相同内容过多造成多余的开销 在写管理端时,一般会做权限控制,这时我们就要根据后台返回的权限树(或者相应数组)生成对应的导航菜单 在这里我们通过享元模式来基于react和antd来根据权限树来生成对应的菜单 MenuItem元和SubMenu元: const renderMenuItem = ({ path, name, ...原创 2018-06-01 00:17:19 · 249 阅读 · 0 评论