デザインモード17の外観モード

バックグラウンド

実生活での例があります、あなたが家を買うためにローンを組むならば、あなたは複数の機関に連絡する必要があります。アカウントを譲渡する必要がある場合があります。それを処理するには、地方自治体に行く必要があります。積立基金の社会保障口座が必要な場合は、人事社会保障局に印刷してスタンプを押す必要があります。必要な場合は、給料、あなたは印刷するために銀行に行かなければなりません。ただし、これらの手順を処理する包括的な部門がある場合は、走り回る必要はありません。

外観モード-背景

システム開発でも同じことが言えます。サブシステムが増えると、システムへのアクセスの複雑さも増します。サブシステムが変更されると、顧客アクセスのロジックも変更され、設計の「開閉の原則」に違反します。このためには、システムの結合度を下げるための外観モードが必要です。

外観モード-背景2

外観モードとは

「「

サブシステム内の一連のインターフェースに統合インターフェースを提供します。ファサードは、サブシステムを使いやすくする高レベルのインターフェースを定義します。高レベルのインターフェースは、サブシステムを使いやすくします。)

外観モデルは、主に次の3つの要素で構成されています。

「「
  • ファサードの役割:複数のサブシステムに共通のインターフェースを提供します。

  • サブシステムの役割:システムの機能の一部が実現され、顧客は外観の役割を通じてそれにアクセスできます。

  • クライアントの役割:外観の役割を介した各サブシステムの機能へのアクセス。

元素組成の関係は次のとおりです。

構造図

コード

サブシステム

ファサード

コードテスト:

public class FacadeTest {
    public static void main(String[] args){
        Facade facade = new Facade();
        facade.method();
    }
}

テスト結果は次のとおりです。

子系统01的method1()被调用!
子系统02的method2()被调用!
子系统03的method3()被调用!

外観モードを考える

なぜアピアランスモードを使用する必要があるのですか?もちろん、システムの相互依存性を減らすために、クライアントがサブシステムに直接アクセスする場合、システムロジックが変更されて変更が必要になると、クライアントがアクセスするロジックも変更する必要があります。外観モデルが追加された場合、クライアントと外観クラスの間の依存関係のみがあります。システムを変更するのはあなた次第です。

お客様はシステムに直接アクセスできないため、システムのセキュリティが向上します。

ただし、システムロジックが変更された場合は、外観クラスも変更する必要があります。したがって、外観カテゴリを変更するリスクを考慮する必要があります。

過去におすすめ

QRコードをスキャンして、よりエキサイティングになります。または、WeChatLvshen_9を検索すると、返信してバックグラウンドで情報を取得できます

  1. 回复"java" 获取java电子书;

  2. 回复"python"获取python电子书;

  3. 回复"算法"获取算法电子书;

  4. 回复"大数据"获取大数据电子书;

  5. 回复"spring"获取SpringBoot的学习视频。

  6. 回复"面试"获取一线大厂面试资料

  7. 回复"进阶之路"获取Java进阶之路的思维导图

  8. 回复"手册"获取阿里巴巴Java开发手册(嵩山终极版)

  9. 回复"总结"获取Java后端面试经验总结PDF版

  10. 回复"Redis"获取Redis命令手册,和Redis专项面试习题(PDF)

  11. 回复"并发导图"获取Java并发编程思维导图(xmind终极版)

もう1つ:[マイベネフィット]をクリックして、さらに驚きを持ってください。

 

おすすめ

転載: blog.csdn.net/wujialv/article/details/109611260
おすすめ