MVC vs. Active Record vs. Factory

Arm*_*deh -2 model-view-controller activerecord design-patterns factory

活动记录模式是一种访问数据库中数据的方法。数据库表或视图被包装到一个类中。因此,对象实例与表中的一行相关联。创建对象后,保存时将新行添加到表中。

MVC 是使用 MVC(模型视图控制器)设计构建 Web 应用程序的框架:模型代表应用程序核心(例如数据库记录列表)。视图显示数据(数据库记录)。

在工厂模式中,我们在不向客户端公开创建逻辑的情况下创建对象,并使用公共接口引用新创建的对象。

与 Active Record 相比,使用 MVC 有什么好处?

在我的网站中,我使用了 Active Record 和 Factory 模式的组合。对我来说,使用这些更简单、更快捷,因为我只需要编写一些函数。另外,我不需要视图、模型或其他东西。我的意思是在我看来,我越受规则约束,设计就越复杂。

但如果我说的是正确的,为什么有太多的框架使用 MVC ?

Aug*_*sto 5

三者完全不相关。

MVC 是一种软件架构模式,可用于各种 UI。此模式用于定义应用程序的内部架构。模型不是映射到数据库的对象,而是域模型

Active Record 是一种集成模式,特别是一种持久化模式,它解决了如何将对象映射到数据库的问题。

工厂是一种设计模式,特别是对象创建模式,它抽象了构建给定对象的复杂性。

所有这 3 种模式都有维基百科页面来解释它们是如何工作的。如果您想了解更多信息,可以阅读(按顺序,每本书都解释了每个模式)

  • 面向模式的软件架构,模式系统:第 1 卷
  • 企业集成模式
  • 设计模式:可重用的面向对象软件的元素

关于你的最后一个问题:为什么有这么多 MVC 框架?因为都有痛点,有些人认为他们可以制作一个无痛的MVC框架(这就像试图找到一个Unicorn)