デザインパターン(II) - プロトタイプモデル

プロトタイプモデルは、性能を確保しながら、重複したオブジェクトを作成するために使用されるスキーマを作成され、オブジェクトを作成するための最良の方法を提供します。

意図:オブジェクトの指定された種類のプロトタイプのインスタンスを作成し、プロトタイプをコピーして新しいオブジェクトを作成します。

主なソリューション:動作中のプロトタイプを作成し、削除します。

利点:パフォーマンスの向上、制約コンストラクタを避けます。

        #region原型模式
         パブリック 抽象 クラスPrototypeClass {
             公共 PrototypeClass(文字列名)
            { 
                この .NAME = 名。
            } 

            パブリック 文字列名前{ セット取得; } 

            パブリック 抽象PrototypeClassクローン(); 
        } 

        パブリック クラスPrototype1:PrototypeClass 
        { 
            公共 Prototype1(文字列名):ベース(名前)
            { 

            }
            公共 オーバーライドPrototypeClassクローン()
            { 
                リターン(PrototypeClass)この.MemberwiseClone()。
            } 
        } 
        パブリック クラスPrototype2:PrototypeClass 
        { 
            公共 Prototype2(文字列名):ベース(名前)
            { 

            } 
            公共 オーバーライドPrototypeClassクローン()
            { 
                リターン(PrototypeClass)この.MemberwiseClone()。
            } 
        } 
        #endregion
静的 ボイドメイン(文字列[]引数)
        { 
            Prototype1 prototype1 = 新しい Prototype1(" A " )。
            VAR PrototypeClass1 = prototype1.Clone()。
            // PrototypeClass1.Name = "" 
            Prototype2 prototype2 = 新しい Prototype2(" B " )。
            VAR PrototypeClass2 = prototype2.Clone()。
            // PrototypeClass2.Name = "B" 
            Console.ReadKey()。
        }

 あなたは抽象プロトタイプのオブジェクトを作成することができるときにのみ、あああまり効果を感じませんでした、それを隠す、私は明日を見て継続する時間を見つけて、それを理解するにはあまりにも浅いかもしれ感じることができています

2019年10月25日0時30分31秒

3週間後、デザインレビューモード毎日、行きます

おすすめ

転載: www.cnblogs.com/yuchenghao/p/11735889.html