最近由于 Rails 的流行,很多人开始使用 activerecord 作为模型。然而,在我听说 Rails 之前(我的同龄人小组不喜欢开源东西,我们在一所 .NET 学校接受过教育……),在我做最后一年的项目时,我发现了这个模型的定义
该模型代表企业数据以及管理对这些数据的访问和更新的业务规则。模型通常用作模拟真实世界过程的软件,因此在定义模型时应用简单的真实世界建模技术。
它并没有说模型应该像 activerecord 那样表示一个表。而且通常在一个事务中,一个人可能必须查询一些不相关的表,然后操作来自不同表的数据......所以如果使用 activerecord 作为模型,那么任何一个都必须将所有逻辑代码塞进控制器(这是在某些 php 框架中有点流行),这使得测试或破解 activerecord 模型变得困难,因此它不仅对它映射到的表执行数据库操作,而且还对其他相关表执行数据库操作......
那么,滥用(恕我直言)activerecord 作为 MVC 架构模式中的模型有什么好处呢?