ファサードデザインパターンの使用について、全体的に混乱しています。ファサードは MVC に似ています。フロントエンドインターフェースをバックエンド内部から分離するのに役立つプロジェクトでファサードを使用したため、これを求めています。
3 に答える
おそらく多くのことを見落としていると思います.MVCは、コントローラー(Webリクエストのインフラストラクチャを処理する)やモデル(ビューに渡す情報)やビュー(情報を提示することにのみ関心があります)。
私がファサードについて考える方法は、システム コンポーネントが別のシステム コンポーネントと対話する必要があるときはいつでも、システム コンポーネントのよりシンプルなインターフェイスを提供したいすべてのものに適用できます。これは、面倒すぎたり複雑すぎたりする複雑な API を避けるためです。
ファサードに関連して、システム コンポーネントから API を単純化しようとして、ファサードとして正確に機能するアダプター パターンがありますが、違いは、コンポーネントの 1 つが制御下になく、変更できないことです。行動。ASP.Net キャッシュがその例かもしれません。要件を満たすために ADAPTER を作成します。ASP.Net CAche が大幅に変更された場合は、アダプターを更新する必要があります。
全体としてはどちらもパターンですが、私は MVC を Framework+Pattern のようなものと考えていますが、FAcade は複雑なソフトウェア コンポーネントを操作するたびに作業を容易にするための単純な機能です。
それが役に立てば幸い、
最も単純な言葉で-ファサードは、システム/サブシステム/レイヤーの内部の詳細をクライアントから隠すために使用されますが、MVCは、ビジネス、プレゼンテーション、およびコントローラーを分離するためのアーキテクチャです。
ファサード パターン サブシステム内の一連のインターフェイスに統一されたインターフェイスを提供します。
Facade は、サブシステムを使いやすくする上位レベルのインターフェイスを定義します。これを使用して、多数の複雑なオブジェクトの相互作用を単一のインターフェースに簡素化できます。
Facade パターンを MVC アプリケーションで使用して、複雑な MVC アプリケーションのレイヤード アーキテクチャを強化できます。