在OOP中,在什么情况下我们要作用于某个对象而不是让该对象起作用?

时间:2020-03-06 14:28:02  来源:igfitidea点击:

在什么情况下,或者对于哪种算法,我们开始使用对象之外的方法将对象用作数据结构(例如:Tree Walking等)。

我们使用什么方案? ("访问者"→"模式匹配"?)

还是我们认为一个对象应该始终是唯一允许对自己的数据执行操作的对象?

解决方案

Or do you think an object should always be the only one allowed to act on its own data?

这就是我的理念(除了只是实体的对象;即:它们映射其他内容,例如xml文件或者其他内容,并且仅包含属性)

对象应负有单一责任。如果我们正在执行的操作是作用于某个对象,但与该对象的职责无关。最好将其放在该对象之外。