【发布时间】:2014-05-16 14:56:07
【问题描述】:
我正在 java 中实现观察者模式,以将我的模型类与 GUI 分开。 问题是,每次调用更新方法时,模型实例都会作为参数给出。这意味着,GUI 可以调用不应从 GUI 调用的模型对象上的方法。 如何避免 GUI 可以操作模型对象?
【问题讨论】:
-
您可以使用 Java 包让控制器访问 GUI 无法访问的方法。或者你可以依靠荣誉系统。
-
如果您决定使用包装对象,一些 ide 可以帮助您创建它。例如,在 Eclipse 中,
source > create delegate methods将复制所有方法,将调用转发到内部组合对象。然后你只需删除你不想暴露的其他人。
标签: java user-interface model-view-controller