【发布时间】:2011-12-21 08:28:45
【问题描述】:
我有 3 个名称具有代表性的类,我打算以 mvc 模式进行这项工作。
以下是类
public class view {
static int n;
static model Model=new model();
public static void main(String args[]){
Model.show(5);
System.out.println("The value is "+n);
}
}
public class model {
public interface Observer{
public void show(int n);
}
protected Observer observer;
public void setObserver(Observer observer) {
this.observer = observer;
}
public void show(int n)
{
System.out.println(n+1);
observer.show(5);
}
}
public class Logger implements model.Observer {
private view View;
public Logger(view View) {
this.View= View;
}
public void show(int n)
{
View.n=n;
}
}
我希望它按以下顺序工作
视图调用模型,模型依次调用观察者,观察者在视图中设置 n 的值。 但是当我试图调用观察者时,它在模型中给了我一个空指针异常。 我做错了吗??
【问题讨论】:
-
这里观察者模式的目的是什么?
-
教授说“写一个观察者模式”;)
-
如果你不遵循 java 标准,你的代码会非常难以阅读:static model Model=new model();应该看起来像:静态模型模型=新模型();那么当你做 model.show(); 时你就可以理解了。 System.out 有效,因为 System.out 是一个静态对象。
-
哈哈不是因为教授让我...我正在学习如何使用 MVC
标签: java model-view-controller observer-pattern