我的架构很简单:
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
方法,如更新而不调用观察者?
处理这种情况的常用方法是什么?
答案 0 :(得分:0)
我不会将更新代码放在Model
上。还有另一个专门的课程:
class UpdateHandler extends java.util.Observable {
// GUI update code
}
这解决了您的更新来自何处?'问题,以及使Model
可重复使用。例如,将来如果您需要移植到其他GUI平台...