問題タブ [ecb-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
uml - UML クラス図で、境界クラス、コントロール クラス、およびエンティティ クラスとは何ですか?
私は現在、選択した IDE として NetBeans を使用しています。NetBeans には、UML モデリング用のプラグインがあります。Boundary Class
クラス図には、 、Control Class
、 と呼ばれるモデル要素がありEntity Class
ます。ただし、それらの適切な定義を見つけることはできませんが、UML クラス図でこのサイトを見つけました。
java - Java EE 6 設計パターン
Java EE 6 の実装で適用できる設計パターンについて教えてください。
- MVC。
- GOF。
- ダオ
- 永続的なリレーショナル マッピング
- プーリング
- CEC
- エンティティー管理境界 (ECB)
- その他多数
JPAはDAOの使用を排除しますか?
学習できる他のパターンを提供してください。
java - EJB vs CDI と「Entity Boundary Control」パターン
CDI と EJB、および Entity Boundary Control (ECB) パターンについて理解しようとしています。ECB パターンについての私の理解は、境界がトランザクション境界の開始と終了であるということです。さらに、CDI は EJB のようなトランザクション サポートを提供しません。
したがって、ECB パターンを正常に実装したい場合は、次のことが当てはまります。
- EJB (つまり、@stateless、@stateful、@singleton) を使用して境界部分を実装し、CDI または EJB を使用してコントロール層を実装できます。
- CDI を使用して境界と制御の部分を実装できますが、(http://smokeandice.blogspot.com/2009/12/cdi-and-declarative-transactions.html) のように、境界にトランザクション サポートを実装できます。
- CDI で Boundary を実装できず、コントロール層で EJB を使い始めることができません。
ありがとう
java - ECB パターン - 本当の境界とは?
ボブおじさんのアーキテクチャ ソフトウェアに関するプレゼンテーションを見たところです。
http://www.cleancoders.com/codecast/clean-code-episode-7/show
彼は ECB パターン (エンティティ - コントローラー - 境界) について話します。
彼は、ユースケース全体として、すべてのソフトウェアがプライマリでなければならないという事実を主張しています。
実際、ツールやフレームワークなどに関する決定は延期する必要があると、彼は何度も繰り返しています。
「境界」という用語に興味をそそられたので、次の説明を見つけました。
ここでは、Web メカニズムのフォーム (MarketingCampaignForm) などの各配信メカニズムに境界が関連していることがわかります。
だから私の質問は:
バウダリーは、使用される配信メカニズムのタイプについて知る必要があり、ボブおじさんの視点と矛盾していますか?
または、内部システムと配信メカニズムの間で共有される単純なデータ構造を表す単純な POJO でなければなりません。ユーザーからの入力と内部システムのコントローラーからの出力を含む?
java - (Entity-Control-Boundary パターン) → 2 つのエンティティをどう扱うか?
前提
私は最近、Java チャンピオンの Adam Bien による多くの記事/ビデオを読んだり見たりしました。彼は、古いが更新された Entity - Control - Boundary Design Pattern JAVA EE >= 6 の使用を提唱しています。
CDI、EJB 3.1、JPA 2、およびその他の Java EE 6 機能を活用することで、このパターンは、よりビジネス指向のコンポーネントを作成し、単体テストを容易にし、責任に基づいて関心をより高度に分離するのに役立ちます。
私は上記の機能をすべて使用しており、このパターンは非常に興味深いので、ECB が次のプロジェクトの要件に適合するかどうかを調べています。
これまでに得たもの
ECB では、各論理エンティティは 3 つの部分に分割されます (間違っている場合は訂正してください)。
外部からアクセスできる唯一のクラスである一種の強力なファサードであるBoundary。そして、外側(私が正しく理解した場合)とは、アプリケーションの外側の両方を意味します。リモートクライアント、およびコンポーネントパッケージの外部。私のアプリケーションの別の部分。
a(n オプション) Controller、ある種の操作 (エンティティの検証など) を担当します。
純粋なJPA エンティティである可能性があるEntityですが、内部にいくつかの装飾/検証/(最小限の) ビジネスロジックを含めることもできます。
たとえば、2 つの異なるエンティティ (Orange
とApple
)、それらに対して CRUD を実行するクラス ( FruitsManager
)、およびエンティティに対して何らかの制御を実行するクラス( ) があるとしFruitsQualityChecker
ます。
昨日までは、 ( OLD WAY )のようなものでした:
一方、ECB では ( NEW WAY ):
次に、各エンティティを個別にCRUDして調査できます。と
主な質問
たとえば、クロスコンポーネントの研究をどのように処理すればよい findFruitsByPrice(min,max)
ですか?
findOrangesByPrice
結果の両方とfindApplesByPrice
合計を呼び出す必要がありますか? どのクラスから、どこにパッケージ化されましたか? また、50 のエンティティにまたがる必要がある、多数の条件を含む検索ページがある場合はどうなるでしょうか。各エンティティの検索メソッドを 50 回実行してから補間を実行すると、パフォーマンスに大きな影響を与える非常に醜い方法のように聞こえます。この種のことを実行するには、まだどこかに中心点が必要だと思います。Searches
その Boundary で他の境界を呼び出すのは、eg と呼ばれる別のコンポーネントである必要がありますか? この点は、ATM にはわかりません。
副次的な質問
アクションベースのフレームワークで ECB を使用することは理にかなっていますか? それとも、このパターンはコンポーネント ベースのフレームワークに追いやられているのでしょうか?
私は MVC アクションベースのフレームワークである Struts2 を使用していますが、MVC コンポーネントベースのフレームワークである JSF2 (JAVA EE 6 標準であり、Adam Bien のショーケースのほとんどで使用されています) にはまったく慣れていません。
アーキテクチャを「コンポーネントの方法」で考えるという追加の努力とは別に、ビジネス層で ECB を使用することを妨げているものはありますか?
Adam Bien の例の境界の大部分は REST サービス (一般に、 「チェーンの新しいギア」というよりも Struts2 アクションの置き換え) であるため、これが Struts2 エコシステムに完全に適しているとは思えません。
あなたのことを言ってください。お願いします。
model-view-controller - Entity Control Boundary (ECB) と Model View Controller (MVC) の比較
正しいコンセプトを持っているかどうかはわかりません。
と人から言われました
境界 = ビュー
エンティティ = モデル
コントロール=コントローラー
ただし、MVC に関する私の知識に基づいています。(ファットモデル、薄型コントローラー)
Boundary = Controller、Control = Model (busienss ロジック)、および Entity = Model (orm クラスまたは crud のみを実行する同様のエンティティ クラス) ではないでしょうか。
間違っているかもしれません、教えてください!
uml - 制御クラスの用途は何ですか?
クラスを境界/コントロール/エンティティ クラスとして分類する方法を理解しようとしています。私の理解は完全ではないかもしれませんが、境界クラスとエンティティ クラスを理解できます。Boundary は、ユーザーと対話するクラスです。したがって、ユーザー インターフェイスに使用されるクラスは境界クラスになります。エンティティ クラスはデータを処理します。したがって、ER図で使用するエンティティはエンティティ クラスになります。しかし、コントロール オブジェクトが使用される理由がわかりません。コントロール オブジェクトは、ドメインの機能をカプセル化するために使用されると言われています。コントロール クラスが使用されていない場合はどうなりますか。例を挙げて説明していただけますか? 境界/コントロール/エンティティではないクラスもあります。彼らは何ですか?
uml - ストレージ層とエンティティ クラス
私が読んでいる本によると、3層アーキテクチャ(プレゼンテーション、アプリケーション、ストレージ)では、ストレージ層がシステム内のデータの永続ストレージを管理する責任があります。だとすると、エンティティクラスはアプリケーション層にあると思いますが、そうですか。ストレージ層にはどのようなクラスがありますか? エンティティ クラスとストレージ レイヤーのクラスの違いは何ですか? いくつか例を教えてください。