在何处放置逻辑-域类vs.服务类vs.其他类?

时间:2019-07-09 18:54:10

标签: java spring

我正在使用Spring框架在Java中开发一个简单的To-do应用程序。现在,我添加了一项功能,该功能可以显示任务是否过期。我不确定要检查哪个逻辑。

这是我的待办事项领域课程:

public class Todo {
    private Long id;
    private String body;
    private LocalDate doDate;

    // Constructors, getters and setters
}

这是我的TodoService类:

@Service
public class TodoService {
    @Autowired
    private TodoRepository todoRepository;

    public void save(Todo todo) { // ... }
    public void deleteById(Long id) { // ... }
    public Iterable<Todo> findAll() { // ... }    
    public Optional<Todo> findById(Long id) { // ... }
}

我正在考虑3种方法:

  1. 向域类添加方法 isOverdue()
  2. 使用方法 isOverdue(Todo todo)
  3. 添加单独的OverdueChecker类
  4. 向现有的TodoService类添加方法 isOverdue(Todo todo)

其中哪些被认为是良好的编码习惯?

1 个答案:

答案 0 :(得分:0)

我建议第一个解决方案,因为它是一种易于确定的状态(我想您只是将doDate与doday的日期进行比较),并且不需要很多逻辑,如果这样做的话,我建议您使用服务。 除了在toDo类中使用类似public boolean isOverdue(){...}之类的东西更干净

相关问题