oop - 实体是否应该有行为?

标签 oop

实体应该有行为吗?或不?

为什么或者为什么不?

如果不是,那是否违反封装?

最佳答案

如果您的实体没有行为,那么您就不是在编写面向对象的代码。如果一切都使用 getter 和 setter 完成,没有其他行为,那么您正在编写过程代码。

很多店铺say they're practicing SOA当他们让他们的实体保持愚蠢时。他们的理由是数据结构很少改变,但业务逻辑会改变。这是一个谬论。有很多模式可以解决这个问题,而且它们并不涉及将所有东西都简化为一袋 getter 和 setter。

关于oop - 实体是否应该有行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/98739/

相关文章:

C++:从子对象到父对象的信息传播

C++ - 模板类中模板函数的单独声明/定义

c++ - 文件 I/O 二进制动态数组崩溃

c# - 如何限定一个类只能在类库项目中使用?

c++ - 带有类C++的控制台应用程序菜单

objective-c - 如何在 Objective C 中实现 mixin 或 Trait 类型的行为?

javascript - 为什么私有(private)/ protected 成员必须来自同一类才能实现类型兼容性?

php - 使用可变参数在 PHP 中以编程方式创建动态类实例?

java - 处理多种文件格式的转换,避免耦合

ios - 过度使用 App Delegate?