设计模式
文章平均质量分 57
很难绷得住
点波关注不迷路
展开
-
策略模式.
这里是将策略模式与工厂模式结合,即将模式选择的部分交给了cashcontext cashcontext接收一个具体的策略对象(或者具体策略对象对应的标记),然后根据具体的策略对象,调用其算法的方法,在没有和策略模式结合时,具体算法由指向策略对象的父类指针调用,若增加策略时工厂类要增加case,还要实现要增加的具体的策略,这两者都是变化的,而策略模式的核心在于**封装变化点**,即将这二者的通过cashcontext进行封装,原本客户端需要看到工厂类与策略的父类这两个类,现在只需要看到cashcontext这原创 2022-06-01 17:45:56 · 95 阅读 · 0 评论 -
简单工厂模式
看起来代码长了很多,但代码的维护性与安全性得到了提升,这对于大型项目来说至关重要 不管是windows程序,还是web程序等都可以使用该代码提供的接口,具有更高的移植性 若要增加各种复杂的运算,比如平方根,立方根等只要增加相应的运算子类即可,而不需要去重新编译不用变化的子类。然后在工厂类中的switch中增加分支即可使用。原创 2022-06-01 16:02:25 · 130 阅读 · 0 评论 -
C++ 依赖倒置原则
.依赖倒置原则 高层模块不应该依赖于底层模块,而应该依赖于抽象。抽象不应依赖于细节,细节应依赖于抽象。 解决的问题 类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。因此我们需要将依赖的方向进行重新规划,像下面这样: 我们将接口与实现相分离,应用与细节相分离,接口层提供我们业务层所需要的接口方法,实现层对接口的具体方法进行实现,高层业务逻辑...原创 2022-01-31 11:24:02 · 1476 阅读 · 0 评论