标签: ruby oop design-patterns object-oriented-analysis
我正在尝试找出使用面向对象设计原则封装以下场景的最佳方法。什么类型的设计模式最适合?
我在下面添加了非常基本的类定义,基本上一个人有计划和信用卡。当一个人改变他们的计划时,我们希望向他们收取差额(如果计划的成本更高)并创建一个事件
我可以在回调或观察者中执行此操作,检查Plan的{{1}}是否发生了变化,但在具有大量交叉模型行为的大型系统中,变得无法管理,很难用很多不相关的回调来影响国家。
Plan
Person
答案 0 :(得分:0)
如果我理解正确,您的信用卡就是您的结算方式不同的条件。 Strategy模式可能是适合的模式,恕我直言。
Replacing Conditional with Strategy