学習デザインパターン(A)

 

反復モード、アダプタモード、Template Methodパターン、ファクトリメソッドモード、シングルトン

イテレータパターン

オブジェクトに関連するオブジェクトの反復、イテレータのコレクションがあります。次のようになぜ主に再利用可能な、反復モード変更の使用後にどんなに長い収集、修正なしでイテレータ同じコード、ので、ここではイテレータパターンを使用

コレクションインタフェース

 

Iteratorインターフェイス

コレクション

特定のイテレータは実装します

 

BookShelfIteratorコンクリートイテレータ、反復子は「対象点は、次のオブジェクトを返し、」のhasNext方法は、次の方法であり、方法の実現に注目し、次のhasNextメソッドを実装する「オブジェクトがあるか否かを判断します。」

イテレータは、次の

反復モードでのJava、フレームは、反復処理可能イテレータインタフェースなど収集し、対応するインターフェースのセット及びインタフェース・イテレータに見出すことができます

アダプタモード

対象ターゲットモード・インタフェースによるアダプタ(インタフェースは、インタフェースJavaへ、しかしプログラムインタフェースを参照していない必ずしも互いにインターフェースに通信されていない)、及びアダプタはオブジェクトアダプタに適合され、それは主に多重化され、そしてターゲットとすることができます同様のクラスは、ターゲット・インタフェース・アダプタを達成するためのインタフェース機能を使用します。これは、コードの重複を避けることができます。

次のように継承によって委託最初のアダプタ、および第二を達成するには、2つの方法がありますが、

ターゲット・インタフェース

アダプタ(継承)

これは、バナーの2つの方法が必要な正確に印刷インタフェース機能が備えられていますので、ちょうどこのクラスを継承し、ターゲットインターフェースメソッドをすることができ方法でバナーを呼び出して実装しています。

アダプタ(コミッション)

多重継承は、対応するメソッドを呼び出すためにデリゲートオブジェクトを使用して、一度にターゲットメソッド呼び出しインタフェース、それようにオブジェクトをインスタンス化することができるので、ターゲット・インタフェースは、抽象クラスである場合

Template Methodパターン

これは、オブジェクトモデルに関連する抽象クラス(定義された特定のプロセス)と特定のカテゴリであります

抽象クラス

実装クラス

実装クラスがあるため、(サブクラスは、同じプロセスがあるので、変更する必要がなく、実装サブクラスのメソッドの重複を減らし、テンプレートに相当)親クラスの抽象メソッドをオーバーライドしますが、表示メソッドをオーバーライドしませんでしたサブクラスは、実装する必要がないだけでなく、親クラスで定義されている、サブクラスは抽象クラスのみ抽象メソッドを実装する必要がすることができます継承します

工場methdモード

这个设计模式和template method模式类似。当template method 模式中的模板方法用来生成实例时就成了factory method模式

单例模式

将类的构造方法定义为私有,就无法在外部创建对象,只能调用getInstance方法来和获取已经实例化 好的静态成员,而该成员只会实例化一次。

单例模式就我现在的理解主要是为了避免空间的浪费。多个实例之间会相互影响所以就实例化一次

おすすめ

転載: www.cnblogs.com/zshjava/p/11127881.html