在 MVC 应用程序中使用相同的视图进行创建和编辑是否被认为是不好的做法

Is it considered poor practice to use the same view for creation and editing in an MVC application

我正在编写一个允许用户创建(然后编辑)的网络应用程序 类似博客的文本帖子。因为创建它的页面将与编辑它的页面相同,所以我很想为两者使用相同的页面。

在我看来,这将是 DRY(不要重复自己)的一个很好的例子。然而,使用同一个页面并进行一些修改和自动填充似乎有点脏并且难以维护(例如,我向编辑页面添加了一个控件或功能,现在我必须确保它不会在创建时显示页面或被我可能写的任何 javascript 破坏。

This Question 问了类似的问题,但所有答案都更多地谈到了如何实施它,而不是它是否是好的、可维护的实践

我认为您不能说这是否是最佳做法,因为它取决于您的特定应用程序的因素。具体因素包括:

除了 create/update 按钮之外,视图之间是否存在任何差异 您的视图生成了多少事件 您的页面将来会变得多么复杂 您希望有多少用户?public 面对 您的应用会存在多长时间

从理论上讲,您的视图应该尽可能简洁并且不包含业务逻辑。它只会将事件报告给您的控制器。考虑到这一点,您并没有违反任何重用它的最佳实践(除了关注点分离),但我更愿意不重复轮子。我过去两种方式都做过,通常取决于最终应用程序有多大以及我期望它能活多久。

只是我的两分钱。

取决于您是否使用javascript。但即使您使用相同的视图,您也可以在控制器中针对流程的不同阶段使用面向对象的方法。毕竟,它们就像任何普通方法一样可调用,而不仅仅是为特定视图提供服务。