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

本文关键字:最佳 体系结构 视图 模型 从头开始 控制器 | 更新日期: 2023-09-27 18:10:21

我需要了解MVC架构实现的最佳实践。我是一个Java和c#程序员。我知道MVC的基本知识。但我对如何实现它有点困惑。我知道如何使一个简单的基于MVC的计算器。但事情是这样的。

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

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

如果您不想使用Java持久化API,请考虑在TableModel中使用类文字作为运行时类型令牌

首先,如果您熟悉Java,可以尝试Spring MVC。有很多关于这方面的教程。如果你对c#更有信心,可以试试asp.net MVC 3。我更喜欢后者,因为在这种情况下,您必须处理较少的配置。

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

首先为数据库中的每个表创建一个模型。实际上,在实例化时,这些模型(只不过是类)只不过是各自表的单个行。你的ORM(对象关系映射)工具(对于java你可以使用hibernate,对于c#.net你可以使用实体框架)将为你提供特定的方法(保存(对象),添加(对象),删除(对象))来更新数据库

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

我希望这个答案对你有所帮助。干杯! !