1

私は 3 層アーキテクチャについて勉強していますが、実際には解決策が見つからないように見える問題があります。ネット上には 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このデータを使用して を作成します。DBレイヤーがモデルの概念を持たずに、それをデータベースレイヤーに渡す方法は難しいです。だから私はその方法についての手がかりがありません。

要するに、私はかなり立ち往生しています。どんな助けでも大歓迎です。

4

1 に答える 1

2

すべてのレイヤーでデータ モデル オブジェクトを使用することが重要です。GUI で新しいデータを作成すると、データ モデル オブジェクトがプレゼンテーション層で作成され、データ/永続層に渡されます。データのクエリを実行すると、データ モデル オブジェクトが永続層でインスタンス化され、プレゼンテーション層に渡されます。

于 2014-03-17T14:34:24.203 に答える