『Javaとモード』読書ノートの二ーー工場方法モード
2546 ワード
工場方法モデルは比較的簡単な工場モデルであり,最大の改善は工場類が抽象化されていることである.具体的な工場の子類は具体的な製品の創建を担当して、二度と1つの工場の類が万千の責任を集めているわけではありません.これにより、ファクトリメソッドモデルは、次の4つの役割に関連します.抽象工場:この役割は依然として工場方法モデルの核心であるが、それは二度と応用されてもあまり関係がない. 具体的な工場:抽象工場の実現類は、応用と密接なつながりがある 抽象製品:製品の接品の定義、工場方法モデルでは、多層の抽象製品が存在する可能性があるため、製品には多層の継続関係がある可能性がある. 特定の製品:特定の工場で作成するオブジェクト
次のようにコードに反映されます.
次のようにコードに反映されます.
package com.pattern.factory.method;
public interface Product {
}
package com.pattern.factory.method;
public class ConcreteProduct1 implements Product {
}
package com.pattern.factory.method;
public class ConcreteProduct2 implements Product {
}
package com.pattern.factory.method;
public interface Creator {
public Product factory();
}
package com.pattern.factory.method;
public class ConcreteCrector1 implements Creator {
@Override
public Product factory() {
return new ConcreteProduct1();
}
}
package com.pattern.factory.method;
public class ConcreteCrector2 implements Creator {
@Override
public Product factory() {
return new ConcreteProduct2();
}
}
package com.pattern.factory.method;
public class Client {
private static Creator creator1,creator2;
private static Product prod1,prod2;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
creator1 = new ConcreteCrector1();
creator2 = new ConcreteCrector2();
prod1 = creator1.factory();
prod2 = creator2.factory();
}
}
では、もっとよく したいのは、 の な モデルの の を、 モデルで すると、 を やすときに のコードを する がないことがわかります. な を するだけで、 を すればいいです.この では, メソッドモードはオン−オフモードを にサポートしている.
JDK , ? List :
List iterator() , Iterator , List , , 。 ,List , , Iterator , Iterator , 。 。
: ( ) , 。 Pojo , JavaBean