導入
ファサードは、サブシステム内の一連のインターフェイスの一貫したインターフェイスを提供します。このモジュールは、高レベルのインターフェイスを定義します。これは、このサブシステムでより使いやすい価値があります。
文章
外観モードは、クラスのインターフェイスを簡素化するだけでなく、発信者のインターフェイスを切り離します。多くの場合、外観パターンは開発者にとって必須であると考えられており、複雑な操作をカプセル化し、呼び出しのための簡単なインターフェイスを作成できます。
多くの場合、外観モードはJavaScriptクラスライブラリで使用されます。それを通して、複数のブラウザとの互換性のためにいくつかのインターフェイスをカプセル化します。外観モードを使用すると、サブシステムを間接的に呼び出すことができ、サブシステムへの直接アクセスによって引き起こされる不必要なエラーを回避できます。
外観モードの利点は、使いやすく、それ自体が軽量であることです。ただし、欠点もあります。外観モードが開発者によって継続的に使用されている場合、機能の可用性を呼び出すたびに検出する必要があるため、特定のパフォーマンスの問題を引き起こします。
以下は、最適化されていないコードの一部です。外観モードを使用して、ブラウザの特性を検出することにより、クロスブラウザー使用法を作成します。
コードコピーは次のとおりです。
var addmyevent = function(el、ev、fn){
if(el.addeventlistener){
el.addeventlistener(ev、fn、false);
} else if(el.attachevent){
el.attachevent( 'on' + ev、fn);
} それ以外 {
el ['on' + ev] = fn;
}
};
別の簡単な例を見てみましょう。率直に言うには、1つのインターフェイスを使用して他のインターフェイスをカプセル化します。
コードコピーは次のとおりです。
var mobileevent = {
// ...
停止:function(e){
E.PreventDefault();
e.StopPropagation();
}
// ...
};
要約します
では、いつ外観モードを使用するのですか?一般的に言えば、3つの段階があります。
まず、設計の初期段階では、データアクセスレイヤーとビジネスロジックレイヤー、ビジネスロジックレイヤー、プレゼンテーションレイヤーの間に外観ファサードを確立するために、古典的な3層構造などの2つの異なるレイヤーを意識的に分離する必要があります。
第二に、開発段階では、サブシステムが継続的な再構築と進化によりますます複雑になることがよくあります。ファサードに外観を追加すると、単純なインターフェイスを提供し、依存関係を減らすことができます。
第三に、大規模なレガシーシステムを維持する場合、このシステムを維持することは難しいかもしれません。また、現時点で外観のファサードを使用するのに非常に適しています。システムシステムの外観ファサードクラスを開発して、ラフで非常に複雑なレガシーコードを設計するためのより明確なインターフェイスを提供し、新しいシステムがファサードオブジェクトと対話し、ファサードがレガシーコードと対話できるようにします。
参照:ビッグトークデザインモード