Java MVC:如何处理复杂模型?
我试图在我的开发中应用MVC(没有任何框架),但我遇到了很多麻烦。第一个麻烦:M! 如何处理具有深层数据结构和多个“根元素”的复杂模型 这是一个非常简单的例子。假设我们的模型只有两个“点”。哪种模型实现最好 想法1:使用一个入口点和吸气剂 想法2:使用一个入口点和代理方法 想法3:使用多个入口点和吸气剂 想法4:使用多个入口点和代理方法Java MVC:如何处理复杂模型?,java,oop,model-view-controller,model,Java,Oop,Model View Controller,Model,我试图在我的开发中应用MVC(没有任何框架),但我遇到了很多麻烦。第一个麻烦:M! 如何处理具有深层数据结构和多个“根元素”的复杂模型 这是一个非常简单的例子。假设我们的模型只有两个“点”。哪种模型实现最好 想法1:使用一个入口点和吸气剂 想法2:使用一个入口点和代理方法 想法3:使用多个入口点和吸气剂 想法4:使用多个入口点和代理方法 MVC是关于分离关注点的 模型和视图是对象的集合 视图中的对象可能有按钮、窗口、文本区域等类型 模型中的对象具有与域相关的类型,如地址、邮政编码等 控制器对象为
MVC是关于分离关注点的 模型和视图是对象的集合 视图中的对象可能有按钮、窗口、文本区域等类型 模型中的对象具有与域相关的类型,如地址、邮政编码等 控制器对象为模型提供接口。视图对象与控制器对象对话以与系统交互 传统上,视图对象可以直接与模型对象对话,但不建议这样做 所有对象都符合OO原则,都是完整的对象
import java.awt.Point;
public class TwoPointsA {
private final Point A = new Point();
private final Point B = new Point();
public Point getA() {
return this.A;
}
public Point getB() {
return this.B;
}
}
import java.awt.Point;
public class TwoPointsB {
private final Point A = new Point();
private final Point B = new Point();
public void translateA(final int dx, final int dy) {
this.A.translate(dx, dy);
}
public void translateB(final int dx, final int dy) {
this.B.translate(dx, dy);
}
}
import java.awt.Point;
public class TwoPointsC {
public enum Points {
A, B;
private final Point value = new Point();
public Point get() {
return this.value;
}
}
}
import java.awt.Point;
public class TwoPointsD {
public enum Points {
A, B;
private final Point value = new Point();
public void translate(final int dx, final int dy) {
this.value.translate(dx, dy);
}
}
}