MVC不是真正的MVC:揭开架构的真相

对于许多初学者和开发人员而言,MVC是Web应用程序开发的重要架构之一。然而,事实上,MVC并不是真正的MVC!那么,为什么MVC不是真正的MVC?让我们揭开MVC架构的真相!

MVC,即模型-视图-控制器,最初是由Trygve Reenskaug在20世纪70年代开发的。该架构模式的设计目的是使项目开发实现分离,并从不同的关注点中分离视图(呈现数据),控制器(接收和处理请求),以及模型(处理应用程序数据)。然而,科林唐纳尔(Collin Donnell)认为,MVC设计模式已经扭曲并已经失去了其最初的意义。

在他的文章中,唐纳尔指出,实现MVC模式的多数Web应用程序的控制器并没有真正地处理请求。相反,控制器逐渐演变成了一种中央点,作为决策中心,调度其他类以响应请求。换句话说,这种控制器不仅不是「控制器」,甚至不是Web应用程序中最重要的点。

另一方面,唐纳尔将新的设计架构称为「视图,表示器,调解器 (View-Presenter-Mediator, VPM)」,并提出该架构通过解耦机制,更好地将视图和模型(或服务)分离。在这种架构中,他提到一个新的概念——「表示者」,代替之前的控制器角色,以更好地传递数据和调解视图和模型之间的关系。

所以,重要的是要明白,即使MVC设计模式现在不再符合其原意,我们仍然可以从中提取一些有用的概念和思想。无论是采用MVC或其他设计模式,目标都是实现可扩展、可维护的Web应用程序。

总之,MVC是不是真正的MVC已经不重要了,重要的是能够遵循设计模式的原则,扩展和维护自己的应用程序。我们需要时刻明确意识到Web应用程序的需求和最佳实践,使我们所开发的应用程序更好地适应未来的变化和需求。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/