1コース説明します
1.1種類:
1.2定義:
1.3アプリケーションのシナリオ:
1.4利点:
1.5短所:
1.6拡張機能:
1.7デザインパターンと他の比較:
1コース説明します
1.1種類:
構造:
1.2定義:
◆定義:提供するオブジェクトの数の減少の方法の適用のために必要なオブジェクトの構造を改善するためには
、きめの細かい多数のオブジェクトをサポートするために使用◆共有
(有効なメモリオーバーフロータイプの問題の可能な解決策)(プール)
1.3アプリケーションのシナリオ:
◆システムは、多くの場合、システムのパフォーマンスの問題を解決するために、基礎となるの開発に使用されます。
(多数のオブジェクトがメモリオーバーフローを引き起こす可能性がある場合、システムは、我々は再作成を避けるために、メモリのリターンに既存のオブジェクトを、一緒に抽象的な、同じサービス要求の一部を置くことができます。)
◆Bのシステムは、同様の多数のオブジェクトを有するシーンは、プールをバッファリングする必要があります。
(オブジェクトの再利用性が高い、フライ級を用いることがより傾斜)
1.4利点:
◆、オブジェクトを作成削減メモリシステムを減らすためにメモリ内のオブジェクトの数を減らし、効率を向上させる
他のメモリより◆リソース消費を削減
(新しいオブジェクトは、効率を改善し、我々は直接プールからオブジェクトを取る際に、オブジェクトがオブジェクトまたは同時使用が比較的高い場合は特に、時間を節約し、作成していない、時間を要します
Bファイルハンドルとウィンドウハンドル、同じオブジェクトが特に大きい場合には、一定の制限されている、それは多くの場合)の限界へのハンドルを引き起こし、クラッシュを引き起こす可能性があり
1.5短所:
セキュリティスレッドを懸念状態の外側/内側◆注意、
私たちは、ハッシュテーブルを使用しませんが、大部分はHashMapを使用して、共有モードの時間を使用します(システムのアプリケーションがどのように多くの人々をログに記録する3日間適用する(特に、低い効率によって引き起こされた同期ロックにハッシュテーブルとし、事件の一日マイクロ幅広い状況))
◆システムの、複雑なロジック
外部の状態と内部状態の変化を変更しないでください
1.6拡張機能:
内部の状態:
Flyweightパターンの内側と環境の変化や変更の一部と共有されることはありません。関係なく、外部環境の変化の、私は変わらない、と内部メタデータモデル内の状態を共有。
外部状態:
環境変化は、外部の変化状態であると、この状態は、外部フライ級モードで記録されています。
1.7デザインパターンと他の比較:
フライ級モードとプロキシモード:
プロキシモードでは、生成されたプロキシクラスのリソースと時間が多くを過ごすためにならば、あなたはこのクラスのフライ級のパターンの処理速度を使用することができ、プロキシクラスです。
フライ級とシングルトン:
単一の容器の実施形態は、二つの組み合わせです。Flyweightパターンは、思考の再利用可能なオブジェクトであります