1

我正在研究 3 层架构,但我遇到了一个我似乎无法真正找到解决方案的问题。尽管网上有很多关于三层架构的文章,但都没有提到数据模型。除了在 MVC 的上下文中。

我有以下架构: 在此处输入图像描述

所以我们在这里看到的是每一层都使用了数据模型。假设我有一个订阅的新用户:

UI : * Get the data from the http request
     * Build a `UserModel()` with this data
     * Pass this `UserModel` to the application layer
APP: * Pass the `UserModel` to the DB layer
DB : * Format the `UserModel` to SQL and write to DB.

所以有效地所有层都有这个数据模型的概念。我想知道这是否真的是重点?

相反,假设我想解决这个问题,我可以让 UI 将“原始”数据(即字符串格式的用户值)传递给应用程序层。应用层将是唯一具有 UserModel 概念的层。因此,它将UserModel使用此数据创建。在没有模型概念的数据库层的情况下,我将如何继续将其传递给数据库层是很棘手的。所以我不知道该怎么做。

简而言之,我很困惑。任何帮助是极大的赞赏。

4

1 回答 1

2

在所有层中使用数据模型对象确实是重点。在 GUI 中创建新数据时,数据模型对象在表示层中创建并传递到数据/持久层。查询数据时,数据模型对象在持久层中实例化并传递给表示层。

于 2014-03-17T14:34:24.203 回答