1

Boundary のサブクラスがコントローラーとして機能するかどうか疑問に思っていますか?

4

2 に答える 2

3

要するに

いいえ、できません

長い説明

Entity-Control-Boundaryのアーキテクチャ アプローチは、ユース ケースから設計を導き出すことを目的としています。

境界コントロールの役割と責任は、このモデルでは互換性がありません。

  • 境界は、アクターのグループとユースケース間の相互作用を管理します。
  • コントロールは、ユース ケースの実行を管理し、関連する他のオブジェクトを調整します。

これにより、次のロバスト性制約が発生します。

  • 境界はコントロールに関連付けることができますが、エンティティに関連付けてはなりません。
  • コントロールは、コントロールエンティティに関連付けることができます。

境界のサブクラスは、定義上、それ自体が境界クラスになります。同時にコントロールである可能性がある場合、これは同時にエンティティに関連付けることができますが、エンティティに関連付けてはならないことを意味しますが、これは不可能です。つまり、いいえ、これら 2 つの役割を同じクラスが引き受けることはできません。

若干のニュアンス

上記では、ECB を使用していて « controller » と書きましたが、特定の ECB の意味を持つ « control » を意味していると仮定しました。

しかし、意図的に « controller » を使用して、より一般的なクラスの責任 (責任主導の設計用語) を参照することもできます。この理解では、コントローラは、より大きなアーキテクチャ コンポーネントを考慮せずに、他のクラスを調整するだけです。特定のビジネス ロジックとは関係なく、他の境界クラス (ダイアログ テキスト ボックスやボタンなど) を調整する境界コントローラー (つまり、ダイアログ ボックス コントローラーなどの境界クラス) を持つことができます。これが可能なのは、コントローラ クラスの概念が ECB-Control クラスと直交しているためです。

于 2020-12-25T01:42:13.550 に答える