MVC中View对象的实例数

时间:2012-11-02 10:34:33

标签: java model-view-controller architecture svg

我正在尝试创建一个用于编辑SVG对象的MVC应用程序。 我将CircleRectangleText等类作为模型,CircleViewRectangleViewTextView作为视图。

从MVC的角度来看,对于每个形状实例(例如Circle)来说,是否有一个View实例(如CircleView)? / em>的

这意味着在画布上绘制的100个形状我将获得100个View实例。

2 个答案:

答案 0 :(得分:1)

我认为你误解了MVC的概念。您的视图通常是您的画布,而不是您的形状。形状是模型的一部分,您的XXXView类不应该存在。

答案 1 :(得分:0)

在您的情况下,Model可以理解为一组图形元素。

CircleRectangleText等所有图形元素都必须实现某个界面(例如GraphicalElement)。还有一个View类将使用这些方法。

在您的情况下,我可以使用方法

引入GraphicalElement接口
interface GraphicalElement {
    void draw(Graphich g);
}

View将彻底遍历所有GraphicalElement以显示它们

for (GraphicalElement ge : setOfElements) {
     ge.draw(graphics);
}