模型 - 视图 - 控制器架构从头开始的最佳实践

时间:2011-10-03 03:02:46

标签: c# java model-view-controller

我需要了解MVC架构实现的最佳实践。我是Java和C#程序员。我知道MVC的基础知识。但我对如何实现它感到困惑。我知道如何制作一个简单的基于MVC的计算器。但事情就是这样。

我想使用MVC创建一个简单的数据库编辑器应用程序。我应该为表的每个行(对象)构建一个模型和控制器吗?如果是这样,每个物体的视图怎么样?如何处理它们被删除,更新和插入。我应该为编辑器制作模型和控制器,这也是一个视图吗?

2 个答案:

答案 0 :(得分:1)

如果您不想使用Java Persistence API,请考虑在Class Literals as Runtime-Type Token中使用TableModel

答案 1 :(得分:0)

首先,如果您对Java感到满意,请尝试使用Spring MVC。关于这个有很多教程。如果你对C#尝试ASP .NET MVC 3更有信心,我会更喜欢后者,因为在这种情况下你必须处理较少的配置。

现在我将逐一回答你的问题。

首先为数据库中的每个表创建一个模型。实际上,实例化时这些模型(除了类之外)只是相应表的一行。你的ORM(对象关系映射)工具(对于java你可以使用hibernate,对于c#.net你可以使用实体框架)将为你提供特定的方法(save(object),add(object),delete(object))来更新数据库

现在每个控制器都应该使用特定的模型(这里我忽略了使用多个模型的复杂性。)。但它可能产生许多观点。通过单击视图页面中的链接,您实际上会调用控制器中的相关方法。控制器将数据(如果有)与特定视图绑定到该链接,然后呈现视图。因此,对于删除行,应该有一个名为delete()的方法(您可以将其命名为任何名称,因此不要混淆)在您的控制器中。当你想删除一行时,调用该方法并在方法内部使用delete(object)之类的东西删除该行(这些方法将由你的ORM提供)然后返回另一个视图。同样的事情适用于添加和更新数据。但每种方法可能会生成不同的视图。它取决于您在每种方法中返回的视图。

我希望答案可以帮到你。干杯!!!