データベースの概念: DO、DTO

巴扎黑
リリース: 2017-06-26 09:54:55
オリジナル
1973 人が閲覧しました

卒業プロジェクトは終了しました。今回は、ソフトウェアエンジニアリングのプロセスに沿って進められました。今のところ、いくつかの技術的な問題についてまとめておきます。まず最初に、ソフトウェア設計エンティティのいくつかの概念について説明したいと思います。

実際には、VO、DTO、DO、PO という合計 4 つの概念があります。私自身の理解によれば、DTO と DO についてのみ説明します。ただし、以下に 4 つの概念の説明を掲載します:

(1) 概念の説明

VO (View Object): プレゼンテーション層に使用されるビュー オブジェクト、その機能は、指定されたページ (またはコンポーネント) スタンドのすべてのデータをカプセル化することです。上。

DTO (Data Transfer Object): データ転送オブジェクト。この概念は J2EE の設計パターンから来ており、本来の目的は、分散呼び出しの数を減らし、分散を改善するために EJB 分散アプリケーションに粗粒度のデータ エンティティを提供することです。パフォーマンスを向上させ、ネットワーク負荷を軽減しますが、ここでは一般に、プレゼンテーション層とサービス層の間のデータ転送オブジェクトを指します。

DO(ドメインオブジェクト):ドメインオブジェクトは、現実世界から抽象化された有形または無形のビジネスエンティティです。

PO (Persistent Object): 永続層 (通常はリレーショナル データベース) のデータ構造と 1 対 1 のマッピング関係を形成する永続オブジェクト。永続層がリレーショナル データベースの場合、その中の各オブジェクト。データ テーブル フィールド (または複数のフィールド) は、PO の 1 つ (または複数) の属性に対応します。

(2) DO

DO、Domain Object、通常はModelパッケージに入れる、つまりプロジェクトのエンティティオブジェクトとして存在し、ORMフレームワークと直接やりとりするクラスであることが多いです。

実際の開発では、DO はデータ操作を容易にする基本的な Get/Set メソッドを提供する POJO であることが多く、プロパティには通常プライベート権限があり、G/S メソッドを介してのみアクセスできます。データベースと直接対話するのも DO です。

(3) DTO

DTO、Date Transfer Object は、文字通りデータ転送クラスを意味します。実際、サーバーからクライアントへの転送プロセスでは、クラスの複雑さは必要ありません。 1 つのテーブルで処理できますが、複数のクエリを通じて組み立てて 1 つの結果に結合する必要があります。例:

プロジェクトがフォアグラウンドで表示される場合、ProjectName、UserName (プロジェクト名、所有者名) を指定する必要がある場合があります。データベース内の Project テーブルの対応するフィールドは、ProjectId、UserId になります。 Project テーブルを単純にクエリすると、User の ID しか得られません。User に関する詳細情報が必要な場合は、User テーブルと組み合わせてクエリを実行する必要があります。ただし、DO の Project クラスには、このような詳細で多様な属性を含めることはできません。このときのデータはProjectDTOクラスに配置する必要があります。コード例は以下の通りです。

1 public class Project{2       private String projectName;3       private String userid;      
4 }
ログイン後にコピー
1 public class User{2     private String username;3     private String userid;4 }
ログイン後にコピー
public class ProjectDTO{     private String projectName;     private User user;
}
ログイン後にコピー

このように、サンプルなのでフロントページにProjectDTOを渡すことで、同時に適切な表示データを取得することができます。実際のアプリケーションでは完全ではない可能性があります。 User クラスには Password などの属性が含まれる可能性があるため、DTO の User は UserDTO であることがよくあります。

以上がデータベースの概念: DO、DTOの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!