从开源框架el-admin中学习状态模式

最近在写项目时,想起之前看到开源框架eladmin里面表单有一个特性,就是全局只有一份代码,一个表单组件(类似表单的外框把,只有title和button等,输入控件不在其内),但是有很多不同的展示效果,例如新建,编辑,提交中等。不管哪个模块都共用的是同一个表单。这样无疑有助于后期的维护,了解后发现是用到了状态模式。这次简单记录下eladmin是如何使用状态模式的,因为本次项目也涉及到了类似的场景,看看能不能用上。

阅读更多

设计模式:单例模式

前言

学习了这么长的时间,设计模式却还是浅尝辄止,而且最近在回顾Vue知识的时候,发现了很多常见的设计模式:观察者啊,单例啊什么的。让我意识到,如果想要去读懂Vue底层的话,设计模式的思想是必不可少的。
这就从简单的单例模式开始,学习学习设计模式

阅读更多

设计模式:发布订阅模式

简单的来说,就是将引用数据对象的对象作为订阅者,存放在数据对象的订阅者队列中或指定的缓存位置,当数据对象发生变化时,通过遍历订阅者队列通知订阅者数据的变化。

这种模式的存在解决了一些场景:例如需要轮询是否发生变化,这对性能无疑是一种浪费(但轮询可以做到主动索取,能避免通知失败的情况)

阅读更多