1コードのチュートリアル
1.1未使用のシンプルな工場パターンコード
1.2単純なファクトリパターン
シンプルな反射モードを使用して1.3銀行
1コードのチュートリアル
1.1未使用のシンプルな工場パターンコード
テストカテゴリ:
パッケージcom.geely.design.pattern.creational.simplefactory; パブリック クラスのテスト{ / ** *注:これは反例で、 前にいないが、単純な、新しいオブジェクトが必要です*工場出荷時のモードに。 * @パラメータ引数 * / パブリック 静的 ボイドメイン(文字列[]引数){ 接続ビデオビデオ =新しい新しいJavaVideo(); ビデオ.printVideo(); } }
親ビデオ:
パッケージcom.geely.design.pattern.creational.simplefactory。 パブリック 抽象 クラスのビデオ{ パブリック 抽象 ボイドprintVideo(); }
サブクラスjavaVideo:
パッケージcom.geely.design.pattern.creational.simplefactory。 パブリック クラス JavaVideoは、拡張ビデオ{ @Override 公共 無効printVideo(){ System.out.printlnは( "录制Javaの视频" ); } }
子类netVideo:
パッケージcom.geely.design.pattern.creational.simplefactory。 パブリック クラス NetVideoは、拡張ビデオ{ @Override 公共 無効printVideo(){ System.out.printlnはを( "!录制ネット视频" ); } }
印刷結果:
ビデオ録画のJava
プロセスが終了コードで仕上げた 0
1.2単純なファクトリパターン
テストカテゴリ:
パッケージcom.geely.design.pattern.creational.simplefactory; パブリック クラスのテスト{ / ** *注:これは反例で、 前にいないが、単純な、新しいオブジェクトが必要です*工場出荷時のモードに。 * @パラメータ引数 * / // パブリック静的無効メイン(文字列[] args){ // 接続動画ビデオJavaVideo新しい新=(); // ビデオ.printVideo(); // } / ** *シンプル工場パターン2 *ここに工場サブクラス直接得ファクトリクラスパラメータをリコール * @paramの引数 * / パブリック 静的 ボイドメイン(文字列[]引数){ videoFactory videoFactory=新しいVideoFactory()。 ビデオ映像 = videoFactory.getVideo( "ネット" ); ビデオ.printVideo(); } }
ファクトリクラス:
パッケージcom.geely.design.pattern.creational.simplefactory。 パブリック クラスVideoFactory { プライベートビデオ映像= nullを。 公共のビデオgetVideo(文字列のparam){ 場合( "Javaの" .equalsは(パラメータ)){ 返す 新しいJavaVideoを(); } そう であれば( "ネット" .equals(PARAM)){ 戻り 新しいNetVideoを(); } 他{ 戻り ヌル。 } } }
親(同上):
サブクラスjavaVideo :(同上)
サブクラスnetVideo(同上):
印刷ログ:
純ビデオ録画!
コードの終了プロセスで仕上げた 0
シンプルな反射モードを使用して1.3銀行