设计模式
文章平均质量分 69
furfur-jiang
你若盛开,清风自来
公众号:程序江
展开
-
策略模式+单例模式(go)
不够满意,go的初始化操作只有init,整个包的初始化都要统一放在一个函数,没有像python的__init__这样一个类自己有一个自执行函数,这样修改go的init函数貌似也破坏了开闭原则,所以只想到放在main。方案2:使用策略模式,抽象一层奖励策略接口,具体的奖励类型作为具体的策略实现这一奖励策略接口,增加一个环境类(内免除不了分支判断),供给奖励服务调用。环境类新增Map注册表,注册所有具体策略,传入奖励类型,就可以通过map匹配到具体策略。Strategy策略:定义所有支持的算法的公共接口。原创 2023-05-19 20:51:55 · 1385 阅读 · 0 评论 -
发布订阅模式与观察者模式的简单代码实现及解释
发布订阅模式与观察者模式的代码实例观察者模式观察者模式的实现发布订阅模式发布订阅模式的优点发布订阅模式的缺点发布订阅模式的实现观察者模式VS发布订阅模式 观察者模式 所谓观察者模式,其实就是为了实现松耦合(loosely coupled)。 用《Head First设计模式》里的气象站为例子,每当气象测量数据有更新,changed()方法就会被调用,于是我们可以在changed()方法里面,更新气象仪器上的数据,比如温度、气压等等。 但是这样写有个问题,就是如果以后我们想在changed()方法被调用时,更原创 2020-12-04 21:34:52 · 1458 阅读 · 0 评论