コーディングカリキュラムデザインパターンデザインパターン簡潔にシンプル4-2工場

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銀行

おすすめ

転載: www.cnblogs.com/1446358788-qq/p/11258766.html