java - Java 中的 TODO 列表应该使用哪种设计模式?

标签 java design-patterns oop

对于一个非常简单的面向对象的待办事项列表,我应该使用哪种设计模式?

最初,我从任务、任务列表、驱动程序类开始。还有一个简单的 UI,显示任务标题列表。当添加新任务时,我很难让 UI 更新列表,在尝试解决这个问题时,我意识到我的整个布局可能是错误的。

我正在寻找某人给我一个基本方向,或者可能是一个设计模式图的链接,其中包含有关我的类与该图的关系的一些指导。

谢谢。

最佳答案

另一条建议:假设您在 Swing 中编写 UI,不要使用 DefaultTableModel并复制Task来自您的TaskList进入模型(即不要将数据保存在两个地方)。相反,子类 AbstractTableModel并让它充当 TaskList 周围的薄 wrapper ;例如

public class TaskTableModel extends AbstractTableModel {
  private final TaskList taskList;  

  public TaskTableModel(TaskList taskList) {
    this.taskList = taskList;
  }

  public Object getValueAt(int row, int column) {
    Task task = taskList.getTask(row);
    Object ret;

    switch(column) {
      case 0:
        ret = task.getStartTime();
        break;
      case 1:
        ret = task.getState();
        break;
        // etc ...
    }

    return ret;
  }

  // TODO: Implement other TableModel methods.
}

关于java - Java 中的 TODO 列表应该使用哪种设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442703/

相关文章:

java - 系统属性,需要的理由

java - 在 selenium webdriver 中动态切换帧

php - 语法错误,PHP OOP 中出现意外的 '.'

objective-c - 为什么使用单例?

java - 如何从 Clojure 调用我自己的 Java 类中的静态方法?

Java preparedstatement 比 sql developer 慢

javascript - 存储附加到用户贡献内容的 YouTube 内容的最佳方法是什么?

algorithm - 从文本中提取所有出现的重复和独特模式以及上下文

c# - 是否有包装同步 API 以将方法公开为异步的模式?

oracle - 使用通用输入编写 PL/SQL 文件