值对象内部的业务逻辑
Business logic inside of value object
我认为值对象不应该有业务逻辑。
这可能会让其他程序员感到困惑。
例如,
<pre><code>public class PersonVO {
private String name;
private int age;
public void somethingBusinessLogic() {
// Do very complecated logic -> Using Reflection, Conversion
}
}
如果我使用此 VO,必须查看 vo 逻辑如何工作。
许多程序员将他们的业务逻辑放在 VO 中。
我想知道最佳做法是什么?
这取决于您在应用程序中使用的架构。如果您有分层架构:
- 服务层应该有业务逻辑
- 数据层负责CRUD操作,这一层应该很简单。这一层不应该有任何逻辑,除了基本的 CRUD 逻辑。模型 类 不应包含任何逻辑,因为 ORM 会阻止您在模型 类.
中包含逻辑
- UI 层应该只负责表示和处理 DTO 或 ViewModels
我认为值对象不应该有业务逻辑。
这可能会让其他程序员感到困惑。
例如,
<pre><code>public class PersonVO {
private String name;
private int age;
public void somethingBusinessLogic() {
// Do very complecated logic -> Using Reflection, Conversion
}
}
如果我使用此 VO,必须查看 vo 逻辑如何工作。
许多程序员将他们的业务逻辑放在 VO 中。
我想知道最佳做法是什么?
这取决于您在应用程序中使用的架构。如果您有分层架构:
- 服务层应该有业务逻辑
- 数据层负责CRUD操作,这一层应该很简单。这一层不应该有任何逻辑,除了基本的 CRUD 逻辑。模型 类 不应包含任何逻辑,因为 ORM 会阻止您在模型 类. 中包含逻辑
- UI 层应该只负责表示和处理 DTO 或 ViewModels