我有一个事件类,它保存事件的开始和结束时间。每个事件对象可以有多个关联的childevent对象,表示父事件的每个重复。每个类都需要根据它们的编辑方式采取不同的操作,例如
仅删除一个事件:
事件:删除前将第一个子项设为所有其他子项的父项
childevent:正常删除
删除事件和所有后续事件:
事件:删除所有子事件,然后删除自身
childevent:删除所有未来的同级,然后删除自身
只编辑一个事件:
事件:使第一个子项成为所有其他子项的父项,然后更新
childevent:像往常一样更新自己
编辑事件和所有后续事件:
事件:更新所有子事件,然后更新自身
childevent:更新所有未来的兄弟姐妹,然后更新自身
目前,我正在通过检查条件和采取适当的行动来实现这一目标,但它开始变得混乱(还有其他与行为相关的条件)。我很想知道更有经验的程序员会如何处理这个问题(我使用的是ruby)。有什么想法吗?

最佳答案

听起来像是specification pattern封装逻辑的一个例子

关于ruby - 如何最好地重构带有大量条件逻辑的两个类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1153231/

10-15 11:49