3層アーキテクチャ(プレゼンテーション、アプリケーション、ストレージ)では、私が読んでいる本によると、ストレージレイヤはシステム内のデータの永続ストレージを調べる責任があります。もしそうなら、エンティティクラスはアプリケーション層にあると思う。正しい?ストレージレイヤにはどんなクラスがありますか?エンティティクラスとストレージレイヤのクラスの違いは何ですか?いくつかの例を教えていただけますか?ストレージレイヤとエンティティクラス
答えて
ここには1つの真実はありません。人々は異なる意見を持ち、独自の定義を持っています。
あなたの質問にはUMLタグを付けましたが、UMLでは "記憶層"や "エンティティクラス"のようなものは定義していません。
"ecb-pattern"タグでタグ付けしましたが、このパターンは論理レイヤーを定義し、特定の物理レイヤーを指定しません。逆もまた同様です。物理レイヤーは論理レイヤーを規定しません。あなたが言及している3層アーキテクチャはおそらく物理的なレイヤーです。各物理層はecbパターンを使用しても使用しなくてもよい。これは、ソフトウェアアーキテクトによる決定です。
ほとんどの著者は、データベース管理システム(DBMS)、通常はリレーショナル(RDBMS)によって実装されるストレージ層を定義しています。ここでは、クラスのようなオブジェクト指向の概念は使用されません。その場合、ecbパターンが使用される場合、エンティティクラスは、アプリケーション層および/またはプレゼンテーション層の一部である。
例1:エンティティクラスPersonは、アプリケーション層のクラスである可能性があります。これは、SQLメッセージをRDBMS(=ストレージレイヤ)に送信することによってそのまま維持されます。クラスPersonは、通常、「生年月日は過去である」のようなビジネスルールも実装しています。
例2エンティティクラスPersonは、プレゼンテーション層内のクラスである可能性があります。これは、ecb-patternが使用されていないアプリケーション層にメッセージを送信することによってそれ自体が存続します(仮定します)。
エンティティはローエンドデータベースの「パーツ」です。それらは永続性のためにデータストレージに入れたビットとピースを表します。 (まだ誰かがそれが何であるかを覚えている場合)、UMLは、テープ/ヘッドに似ているステレオタイプを使用しています。
境界に対するステレオタイプは、画面に似ている(または、あなたはそれがいくつかの投影であることを考えることができます)。境界は、俳優にいくつかの情報を提示する。
コントロールステレオタイプは、(作業が行われていると思われる)回転ホイールに似ており、境界イベントに反応せず、エンティティを変更/読み込みするビジネスロジックを隠しています。
ます。また、長方形の表記を使用することができます:www.admiraalit.nlノート@として
編集を、この表記は、上部構造自体(そう基本ませんUML)の一部ではありませんが、一般的に使用されますさまざまなUMLプロファイルの表記法。
- 1. テーブルとビューの同じエンティティクラス
- 2. は、エンティティクラスに
- 3. 基本エンティティクラスとFluentValidationバリデーターの統合
- 4. 未知のBeanエンティティクラス - GlassfishとNetBeansのエラー
- 5. .NET Frameworkクラスとのエンティティフレームワークのエンティティクラスのマッピング
- 6. Seam @エンティティクラスの名前?
- 7. エンティティクラスからのカスタムエラーメッセージ
- 8. NHibernate.MappingException:不明なエンティティクラス
- 9. JPA JoinColumn save id別のエンティティクラス内の外部エンティティクラス
- 10. データベースからNetbeans - 生成エンティティクラス
- 11. Spring GemfireエンティティクラスIDの生成
- 12. エンティティクラスのSymfony2グローバルパラメータへのアクセス
- 13. エンティティクラスからのRESTful Webサービス
- 14. NHibernateエンティティクラスは「データクラス」ですか?
- 15. カスタムバリデーターでエンティティクラスを取得
- 16. SPMetalエンティティクラスを使用する
- 17. エンティティクラスはSymfony 2のモデルクラスと見なされますか?
- 18. hibernateがフィールド変数としてエンティティクラスを決定しない
- 19. 同じエンティティクラスからJSONとXMLを生成するには?
- 20. エンティティクラスのパラメータをcreateNativeQueryに渡すとどうなりますか?
- 21. EFコアベースのエンティティクラスの継承と読み取り専用のプロパティ
- 22. Linq-to-Sql、エンティティクラスと親子オブジェクトの使用
- 23. 複雑なエンティティクラス(Hibernateの意味で)を持つことのポイント
- 24. リポジトリ; POCO/Linq-to-Sqlエンティティクラス間のマッピング
- 25. クライアント側エンティティクラスにカスタムプロパティを追加する
- 26. エンティティクラスEnumeration内のエンティティマネージャを使用
- 27. Xstreamを使用したエンティティクラスのシリアライズ
- 28. Nhibernate:1つのエンティティクラスの複数のクラスマップ
- 29. 特定のエンティティクラスのマッピングをオーバーライド
- 30. Spacyの新しい名前付きエンティティクラス
エンティティはローエンドのデータ 'パーツ'です。それは彼らがストレージ層にあることを意味しますか?私が読んでいる本は、それらをstorag層パッケージに入れました。 –
Ehrm。それは質問ですか? –
@ThomasKilian、あなたは、UMLではなく、Rational Unified Processによって定義されたステレオタイプについて説明しています。 –