1.Singleton (単一ケース)
関数: クラスにインスタンスが 1 つだけあることを確認します。グローバル アクセス ポイントを提供します
JDK に反映されます:
(1)Runtime
(2)NumberFormat
2.Factory (静的ファクトリ) )
関数:
(1) コンストラクターの代わりにオブジェクトを作成します
(2) メソッド名はコンストラクターより明確です
JDK への反映:
(1) Integer.valueOf
(2) Class.forName
3.Factory メソッド)
関数: どのクラスをインスタンス化するかを決定するサブクラス
JDK に反映: Collection.iterator メソッド
4.Abstract Factory (Abstract Factory)
関数: 特定の型のオブジェクトを作成する
JDK に反映:
(1 ) java .sql パッケージ
(2) UIManager (swing 外観)
5.Builder (コンストラクター)
関数:
(1) 構築ロジックを別のクラスに入れる
(2) クラスの構築ロジックを分離する そしてパフォーマンス
JDK への反映: DocumentBuilder (org.w3c.dom)
6.Prototype (プロトタイプ)
機能:
(1) オブジェクトのコピー
(2) 浅いコピー、深いコピー
JDK への反映: オブジェクト。 Cloneable
7.Adapter(アダプター)
関数: 互換性のないインターフェースを互換性のあるものにする
JDK に反映:
(1)java.io.InputStreamReader(InputStream)
(2)java.io.OutputStreamWriter(OutputStream)
8.Bridge(ブリッジ)
機能: 抽象部分と実装部分を分離し、それぞれ独立して変更できるようにします
JDKに反映: java.util.loggingのハンドラーとフォーマッタ
9 .コンポジット(組み合わせ)
機能:結合オブジェクトと独立オブジェクトを一貫して扱う
JDKへの反映:
(1) org.w3c.dom
(2) javax.swing.JComponent#add(Component)
10 .Decorator(デコレータ)
機能: クラスに新しい関数を追加します。クラスの継承による爆発的な増加を防ぎます。 (外観)
機能:
(1) 対話型クラスのセットをカプセル化し、一貫した外部インターフェースを提供
JDK への反映: java .util.logging package
12.Flyweight (flyweight)
機能: 共有オブジェクト、メモリの節約
JDK に反映:
(2) 文字列定数プール
14. プロキシ(プロキシ)
機能:
(1) 複雑な実装内容を知らなくても透過的にプロキシオブジェクトを呼び出す
(2) プロキシクラスの機能を増やす
15.Iterator (Iterator; )
関数: コレクションの反復をコレクション自体から分離
JDK に反映: イテレーター、列挙インターフェース
16.Observer (オブザーバー)
関数: 通知オブジェクトのステータスの変更が JDK に反映されます: (1) java.util.Observer, Observable
(2) Swing のリスナー
17. Mediator (Coordinator)
機能: 複数のクラスの動作を調整するために使用
JDK への反映: Swing の ButtonGroup
18.Template メソッド(テンプレートメソッド)
機能:アルゴリズムの構造を定義、サブクラスは異なる部分のみ実装JDKに反映:ThreadPoolExecutor.Worker
19.Strategy(ストラテジー)
機能:異なるアルゴリズムを提供JDKに反映:4つの拒否ThreadPoolExecutor の戦略
20.Chain of Responsibility (責任の連鎖)
機能: リクエストはチェーン上のオブジェクトによって処理されますが、クライアントはリクエストがどのオブジェクトによって処理されるかわかりません反映JDK の場合:
(1) java.util.logging.Logger はログを親ロガーに委任します
(2) ClassLoader の委任モデル
21.Command (コマンド)
関数:
(1) 実行する操作をカプセル化しますインターフェースの一貫性
(2) 呼び出し側と受信側を空間と時間で切り離す
JDK に反映: 呼び出し可能; ThreadPoolExecutor
22. 毎回 null をチェックする必要がなく、null 値を扱う同じインターフェースを持つオブジェクトであるかのように
JDKに反映: Collections.EMPTY_LIST
機能: クラスのセットを使用して特定のOneルールを表現します
JDKに反映: java.util .regex.Patternクラス図: 四則演算