不撤回模型更改的数据

时间:2017-08-09 16:38:32

标签: java android model-view-controller architecture

我的架构很简单:

class Model extends java.util.Observable {
...
public void setData(Data newData) {...}
}

Activity.onResume我订阅模型更新(Activity.onPause我取消订阅), 并在java.uitl.Observer.update的实施中, 我更新了GUI(几个EditText)。使用案例:数据从网络更新。

但是如果从GUI更新Model该怎么办(我的意思是用户输入一些内容到EditText,我希望将数据保存到Model)?

在更新之前取消订阅并在之后订阅, 添加到Model方法,如更新而不调用观察者?

处理这种情况的常用方法是什么?

1 个答案:

答案 0 :(得分:0)

我不会将更新代码放在Model上。还有另一个专门的课程:

class UpdateHandler extends java.util.Observable {
    // GUI update code
}

这解决了您的更新来自何处?'问题,以及使Model可重复使用。例如,将来如果您需要移植到其他GUI平台...