繁体   English   中英

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

[英]model-view-controller architecture best practices from scratch

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

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

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

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

现在,我将一一回答您的问题。

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

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

希望答案对您有所帮助。 干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM