デザインパターンとシンプルな工場シングルトンのC#

どのようなこれらの2つの設計パターンを確認

シングルトン

シングルトンデザインパターンとは何ですか?

シングルトン、それは一般的なソフトウェアのデザインパターンです。そのコア構造ではシングルトンと呼ばれる特殊なクラスが含まれています。単一モードシステムの実施形態は、1つのインスタンスのみアプリケーションクラスモデルのクラスを保証します。すなわち、唯一のクラスのオブジェクトインスタンス。
具体的な実現
静的非静的の違いを理解するために
、静的メンバー:クラスの静的メンバ変数をと「合計」のいくつかの変数(共通式)としてクラスに関連付けられている、彼は特定のオブジェクトの存在に依存しない、訪問//www.jianshu.com/p/e1fee3558cb6:クラス名.https追加オペレータプラス変数名でアクセスしたときに
必要:

(1)コンストラクタ民営化は、それがオブジェクトをインスタンス化された新しいキーワードクラスによってクラス外にすることはできません。

(2)内部のオブジェクトクラスの一意のインスタンスを生成し、そしてプライベート静的型としてパッケージ。

(3)静的メソッドは、一意のオブジェクトを返す定義。
特定の実装https://www.cnblogs.com/binaway/p/8889184.html

シンプル工場

プロセスは、基本的には単純なファクトリパターンの
特定の製品カテゴリ:パッケージ化されたオブジェクトは、特定の製品クラスを作成する必要が異なる製品の関連するコード種々
抽象クラスの製品:抽象抽象クラスおよび抽出後包装された製品クラス固有の共通コード生成
ファクトリクラス:ファクトリクラスは、様々な製品を作成するために使用され、この方法は、パラメータによって異なる場合があり、ファクトリクラスで製品を作成するためにファクトリメソッドを提供しますが、特定の製品のターゲットを作成するために渡された
クライアントを:ちょうど工場を呼び出しますクラスファクトリメソッドと目標物を取得するために対応するパラメータを渡します

Productクラス抽象
{
//メソッドのすべての製品の一般的なトラフィッククラス
ます。public void MethodSame()
{
// publicメソッドは実装しました
}

//抽象ビジネスメソッドを宣言し
、公開アブストラクト無効MethodDiffを();
}

典型的な特定の製品クラスコード:
クラスConcreteProductA:商品
{
//ビジネスメソッドを実装
(公共ボイドMethodDiffをオーバーライド)
{
//ビジネスメソッドを実装
}
}

ファクトリのクラス
{
//静的ファクトリメソッド
のパブリック静的商品GetProduct(文字列のArg)
{
商品の商品= NULL;
IF(arg.Equals( "A"))
{
商品ConcreteProductA新しい新=();
//が配置された製品を初期化
}
そうIF( arg.Equals( "B"))
{
商品ConcreteProductB新しい新=();
//初期配置された製品
}
戻り製品;
}
}

典型的なクライアントコード:
クラスプログラム
{
静的な無効メイン(文字列[] args)
{
商品の商品、
商品Factory.GetProduct =( "A")は; //製品を介してファクトリクラスオブジェクト作成
product.MethodSameを();
product.MethodDiff ();
}
}

发布了43 篇原创文章 · 获赞 8 · 访问量 3921

おすすめ

転載: blog.csdn.net/MaYang_/article/details/100760606