blog

[MVCパターン] モデルレイヤー、DAOレイヤー、サービスレイヤー、コントローラーレイヤーの紹介

DaoレイヤとRepoレイヤのタイトルは一緒ですが、実際には私の意見では2つのいくつかの違いがあります。 レポ層は、データ管理に焦点を当て、倉庫管理者として見ることができる、倉庫内のデータ。サービス層...

Oct 30, 2020 · 3 min. read
シェア

問題は「ダオ」と「レポ」を一緒くたにしていますが、実際には両者にはいくつかの違いがあると私は考えています。

Repo層はデータ管理に重点を置き、倉庫の管理者と見なすことができ、データは倉庫に配置されます。サービスレイヤーがデータを必要とする時、レポレイヤーから取得するだけでよく、レポレイヤーはデータの取得方法から遮断されます。

Daoレイヤーはもっと低レベルで、単にデータベースからデータを取得するだけです。そのため、多くの場合、ServiceレイヤーがRepoレイヤーを呼び出し、RepoレイヤーがDaoレイヤーを呼び出します。

Repoレイヤーが存在することで、様々な方法でデータを取得することが可能です。ほとんどの場合はDaoレイヤーから取得することに変わりはありませんが、時にはrpcからデータを取得したり、ローカルやインメモリなどからデータを取得することも可能です。

model

モデル層はデータベースのエンティティ層で、ENTITY層やPOJO層とも呼ばれます。

一般に、データベース内のテーブルはエンティティ・クラスに対応し、クラス属性はテーブル・フィールドに 1 つずつ対応します。

dao

データ永続層であるダオ層は、マッパー層としても知られています。

daoレイヤーの役割は、データベースにアクセスし、sqlステートメントをデータベースに送信し、データを追加、削除、取得するタスクを完了することです。

service

サービス層はビジネス・ロジック層です。

サービス層は機能設計を完成させる役割を果たします。

サービス層は、ダオ層のインターフェースを呼び出し、ダオ層から返されたデータを受け取り、プロジェクトの基本的な機能設計を完了します。

controller

コントローラー層は制御層です。

コントローラー層は、リクエストとレスポンスのコントロールとして機能します。

コントローラレイヤーはフロントエンドとバックエンドのインタラクションを担当し、フロントエンドのリクエストを受け付け、サービスレイヤーを呼び出し、サービスレイヤーから返されたデータを受け取り、最後に特定のページとデータをクライアントに返します。

DAO レイヤ

ダオ層は、主にデータ永続化層の作業を行うことです、タスクのいくつかは、この中にカプセル化されているデータベースとの連携を担当し、ダオ層の設計は、ダオ層のインターフェイスを設計する最初のものであり、その後、Springの設定ファイルでは、このインターフェイスのクラスの実装を定義するために、その後、このインターフェイスのクラスの特定の実装を気にすることなく、データビジネスの処理を実行するモジュールへのインターフェイスを呼び出すことができますどのクラスは、非常に明確な構造であると思われる 。非常に明確な、ダオ層のデータソースの設定だけでなく、データベース接続パラメータは、Springの設定ファイルに設定されています。

サービス層

サービス層は、主にビジネスモジュールのアプリケーションロジックアプリケーションの設計を担当しています。同じは、最初の設計インターフェイスは、その後、クラスの実装を設計し、Springの設定ファイルは、関連付けの実装を構成することです。サービス層のビジネスの現実は、具体的に定義されたダオ層のインターフェイスを呼び出すには、カプセル化されたサービス層のビジネスロジックは、一般的なビジネスロジックと再利用の独立性を助長されています。手順は非常に簡単に表示されます。

コントローラ層

コントローラ層は、特定のビジネスモジュールのプロセスの制御を担当し、この層では、ビジネスプロセスを制御するためのインターフェイスのサービス層を呼び出すには、設定の制御は、特定のビジネスプロセスのためのSpringの設定ファイルでも同じですが、別のコントローラになります。特定の設計プロセスが抽象化され、プロセスを要約することができます、設計はサブユニットプロセスモジュールを再利用することができます。これは、プログラムの構造が明確になるだけでなく、大幅にコードの量を削減します。

ビュー層

ビューレイヤーとコントロールレイヤーはより密接に統合されており、あなたは2つの共同開発を組み合わせる必要があります。

両者の関係

サービス層はDAO層の上に構築され、サービス層の確立の前にDAO層の確立は、サービス層は、コントローラ層の下にあり、したがって、サービス層は、DAO層のインターフェイスを呼び出すだけでなく、コントローラ層のクラスを呼び出すためのインターフェイスを提供する必要があります、それはちょうど中間層の位置にあります。の中間層に位置しています。各モデルにはServiceインターフェイスがあり、それぞれのインターフェイスには独自のビジネス処理メソッドがカプセル化されています。

Read next

タイムゾーン問題のウェブ開発

タイムゾーンの問題は、国際化されたビジネスシナリオでは一般的です。この記事では、Web開発におけるタイムゾーンの問題を探ります。 タイムゾーンの概念については、誰もがある程度理解していると思います。地球は24のタイムゾーンに分かれており、東の8つは北京時間、西の8つはアメリカの太平洋時間で、その差は16時間です。 北京に設置されたサーバーとデータベースのケーススタディです。

Oct 30, 2020 · 7 min read