JAvaで最も一般的な4つの設計モード

1259 ワード

  1、  ​  :           ,                 

主:
餓漢式(スレッドは安全で呼び出し効率は高いが、遅延負荷はできない)
怠け者式(スレッドは安全で、呼び出し効率は高くありませんが、遅延ロードは可能です)
その他:
二重検出ロック(JVMの下部内部モデルのため、たまに問題が発生します.推奨しません)
静的内部クラス式(スレッドは安全で、呼び出し効率は高い.ただし、遅延ロードは可能)
列挙例(スレッドが安全で、呼び出し効率が高く、遅延ロードできない)
    2、    :

単純ファクトリモデル:同じ階層の任意の製品を生産するために使用されます(既存の製品に機能を追加するには、ソースコードを変更する必要があります).
ファクトリでオブジェクトを作成できますが、開閉の原則に違反しています.機能を追加すると、元のコードを変更する必要があります.
ファクトリメソッドモデル:同じ階層の固定製品を生産するために使用されます(ソースコードを変更することなく、任意の製品を追加できます).ファクトリクラスをファクトリインタフェースに調整し、どのタイプのファクトリが必要かを使用してファクトリを実装し、対応する製品を作成します.3、オブザーバーモード:(パブリッシュ-サブスクリプションモード)とも呼ばれ、複数のオブザーバーオブジェクトが1つのトピックオブジェクトを同時にリスニングし、このトピックオブジェクトは状態が変化すると、すべてのオブザーバーオブジェクトに通知されます.自動的に更新できるようにします.例えば、ラジオ、ゲーム中の大きなラッパ、グループチャット
jdkには抽象的なトピックと抽象的な観察者のインタフェースが提供されており、この2つのインタフェースを使用して、自分の観察者モード4、エージェントモードを容易に定義することができます.他のオブジェクトにエージェントを提供して、このオブジェクトへのアクセスを制御します.クラス(オブジェクト)にアクセスする方法を詳細に制御し、そのメソッドを呼び出す前に行う前の処理(統一されたプロセスコードをエージェントに配置する処理).このメソッドを呼び出して後置処理を行います.
例えば、スターのマネージャー、賃貸の仲介などは代理店です.
エージェント・モードの分類:
1.スタティックエージェント(スタティック定義エージェントクラス、スタティック定義エージェントクラス.たとえば、スターのマネージャー人間を定義する)
2.動的エージェント(プログラムによってエージェントクラスを動的に生成します.このエージェントクラスは私たちが定義したものではありません.プログラムによって自動的に生成されます)が重要です!!