摘要: 观察者模式的思想就是对象的客户端保持实时的监听状态,当客户端监听到对象某个行为时触发相应的任务程序。 //服务的对象 let obj = { event:"aaa", fun:function(){ obj2.monitor(this.event); } } //客户对象 let obj2 = { 阅读全文
posted @ 2021-12-25 22:57 他乡踏雪 阅读(56) 评论(0) 推荐(0)
摘要: 中介模式就是在对象与对象的客户端中间建立一个中介对象,这个中介对象不负责具体职责,只是将双方的程序消息传递给对方,具体任务依然由对象和对象的客户端完成。简单的模式模拟: //服务的对象 let obj = { data:"aaa", mas:function(){ return true; }, f 阅读全文
posted @ 2021-12-25 21:31 他乡踏雪 阅读(48) 评论(0) 推荐(0)
摘要: 代理模式的思想就是在对象与对象的客户端之间建立一个新的对象,这个新的对象负责执行原对象的职责与客户端进行交互。这与之前的外观模式的区别是,外观模式将原对象包装起来,真正执行任务的依然是原对象的本身。 比如在浏览器的网络请求中就是一种代理模式,在浏览器中通过JS实现的网络请求最终会通过浏览器的内核中的 阅读全文
posted @ 2021-12-25 21:18 他乡踏雪 阅读(100) 评论(0) 推荐(0)
摘要: 外观模式又被称为“过程模式”,为复杂的程序提供一种简洁的API,增强程序的可读性、功能内聚。这个模式并不关心程序内部的实现,主要关心对外提供简单的接口。 适应场景: 在程序的设计初期,应该有意识的将不同层分离,层与层之间建立外观模式。 开发阶段,子系统越来越复杂,增加外观模式提供简单的接口。 维护复 阅读全文
posted @ 2021-12-25 20:51 他乡踏雪 阅读(68) 评论(0) 推荐(0)
摘要: 策略模式的思想是在程序运行时选择算法,这种情况非常普遍,在程序运行环境的不同程序需要选择不同的算法、在业务需求不同时需要选择不同的算法等。例如在表单验证时,需要做非空检查、字符检查等情况,这些不同的验证结果就需要不同的算法实现相应的功能; 还有工资计算时也会使用策略模式,比如针对不同的员工按照不同不 阅读全文
posted @ 2021-12-25 17:58 他乡踏雪 阅读(88) 评论(0) 推荐(0)