工場のデザインパターン:オブジェクトオブジェクトを作成したユーザーを分離するためのカップリングを理解するために。
ライフ:連続生産における
Javaで:大量生産のオブジェクト
部門:
それらの生産(作成)オブジェクトとオブジェクトを使用してデカップリング、分離
1、簡単なファクトリパターンの
利点:コードは比較的単純である
あなたは、新製品の種類を追加する場合は、ファクトリクラスを変更する必要があります。短所
オブジェクト指向開発の原則に違反して:オープン拡張のために、しかし、修正のため閉鎖
2、Factory Methodパターン
(1)対象物の生産と使用分離するために、
新製品の増加は、工場出荷時のクラス変更する必要がない場合は(2)の
利点は:新製品を加えた後、元のクラスの原則変更することなく、
短所:あまりにも多くのクラスを
例:簡単なファクトリパターン
クラスSimpleFactory2 {
パブリック静的カーgetCar(文字列型){
場合( "BMW" .equals(タイプ)){
新しいBMWを(返します)。
}そうであれば( "BZ" .equals(タイプ)){
新しいベンツを(返します)。
}
はnullを返します。
}
}
例:ファクトリメソッド
インターフェース工場{
車両getVehiCle()。
}
クラスBMWFactory実装ファクトリー{
@Override
公共チェgetcheを(){
)(新しいBaoMaを返します。
}
}
クラスBZFactory実装工場{
@Override
公共チェgetcheを(){
(新しいBZを返します)。
}
}
......
例:単純な植物工場法モデルパターンとの組み合わせで、リフレクションを使用して
クラスし、SimpleFactory {
パブリック静的車両getVehicle(文字クラス名)は例外{スロー
クラスclazz = Class.forNameの(クラス名)。
オブジェクトOBJ = clazz.newInstance()。
IF(車両のOBJインスタンス){
リターン(車両)は、obj;
}
はnullを返します。
}
}