我该如何调用非数据库模型?

时间:2017-04-07 01:35:34

标签: oop model-view-controller orm

假设我有一个用于计算复杂矩阵运算的Web应用程序。该应用程序还允许用户交互。所以我的申请包括:

映射到数据库表的ORM模型:

  1. 用户
  2. 评论
  3. 历史(请求的操作)
  4. 但是,还有一些其他类用于:

    1. 计算基本操作,例如乘法,求和等。
    2. 矩阵类。
    3. 矩阵逆变器。
    4. 使用矩阵计算图形处理操作的类。
    5. 因此,在大多数网络应用中,人们认为“模型”只是映射到数据库中某些内容的模型。但最初,术语模型也指的是应用逻辑的一部分。

      据我所知,我提到的第一种模型是“域”模型。 (我不确定这个,所以随意纠正)。但第二个,它的名字是什么?

1 个答案:

答案 0 :(得分:0)

对我而言,第一个是具有实体 UserCommentHistory数据模型。是的,所有单数!因为表名应该表示它存储的单个对象,因此当使用ORM映射时,整个表集可以映射为Collection<User> Users

第二个是域层,它不了解数据持久性,并且具有应用逻辑所需的所有内容。所以我会将Matrix类称为域对象,只需要一个MatrixService来执行传递给它的Matrix实例上的乘法,求和,反转等基本操作

由于MVC在标签列表中,我想补充一点,MVC中的M(模型)是概念术语,你不需要真正命名为模型/模型。您可以/应该将此M部分作为单独的库分隔,并将它们称为{app} .domain,{app} .data,{app} .services等。它们一起代表MV中的M并完成Controller不应该做的所有事情。