实体应该有行为吗?或不?
为什么或者为什么不?
如果不是,那是否违反封装?
最佳答案
如果您的实体没有行为,那么您就不是在编写面向对象的代码。如果一切都使用 getter 和 setter 完成,没有其他行为,那么您正在编写过程代码。
很多店铺say they're practicing SOA当他们让他们的实体保持愚蠢时。他们的理由是数据结构很少改变,但业务逻辑会改变。这是一个谬论。有很多模式可以解决这个问题,而且它们并不涉及将所有东西都简化为一袋 getter 和 setter。
关于oop - 实体是否应该有行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/98739/