假设我有一个用于计算复杂矩阵运算的Web应用程序。该应用程序还允许用户交互。所以我的申请包括:
映射到数据库表的ORM模型:
但是,还有一些其他类用于:
因此,在大多数网络应用中,人们认为“模型”只是映射到数据库中某些内容的模型。但最初,术语模型也指的是应用逻辑的一部分。
据我所知,我提到的第一种模型是“域”模型。 (我不确定这个,所以随意纠正)。但第二个,它的名字是什么?
答案 0 :(得分:0)
对我而言,第一个是具有实体 User
,Comment
,History
的数据模型。是的,所有单数!因为表名应该表示它存储的单个对象,因此当使用ORM映射时,整个表集可以映射为Collection<User> Users
。
第二个是域层,它不了解数据持久性,并且具有应用逻辑所需的所有内容。所以我会将Matrix
类称为域对象,只需要一个MatrixService
来执行传递给它的Matrix
实例上的乘法,求和,反转等基本操作
由于MVC在标签列表中,我想补充一点,MVC中的M(模型)是概念术语,你不需要真正命名为模型/模型。您可以/应该将此M部分作为单独的库分隔,并将它们称为{app} .domain,{app} .data,{app} .services等。它们一起代表MV中的M并完成Controller不应该做的所有事情。