我的理解是,OO 设计的基本原则是应该专注于将类建模为代码和数据的联合。然而,在日常开发中,我倾向于将我所有的业务逻辑分成它们自己的类。“数据”最终位于严格控制的 POCO/DTO 中,基本上没有真正的代码或逻辑。然后我实例化一个业务逻辑类,并在我希望操作发生时将 POCO 传递给每个方法。
但这感觉像是两种不同的方法。事实上,后一种方法似乎与 OO 的目的不一致!
我想我一直将这两件事分开,因为业务逻辑可能在多个 POCO 上运行。另外,不强制验证 POCO 中的数据使单元测试更容易,因为准备 POCO 进行测试似乎更简单(无需担心内部类状态、封装等)。现在我回顾这些原因,它们似乎很弱。
我正在寻找两种方法的比较/对比。具体来说,为什么现在看起来制作“愚蠢”的 POCO 是一种方式?为什么不把数据和业务逻辑放在一个类中呢?我们是否正在放弃面向对象设计的最初目标?
谢谢!