コース: C#:デザインパターン
無料トライアルでこのコースを視聴する
今すぐ登録して、25,300件以上登録されている、業界エキスパート指導のコースを受講しましょう。
Prototypeの概要を知る
Prototype パターンを利用すると、 すでに作成されている ひとつのインスタンスから、 複製して新しいインスタンスを作ることが できます。 Prototype パターンの Prototype とは、 原型ということを意味します。 この原型を元に新しいインスタンスの コピーを作ります。 Prototype パターンは 生成に関するパターンのひとつです。 新しくインスタンスを作成する際に、 元となるインスタンスを元に そのコピーを作成します。 プログラミング言語によっては、 コピーを作成する仕組みが すでに用意されています。 そのような場合は、その言語の コピーの仕組みを利用することもできます。 ただし、どのレベルでコピーを 作成するか。 コピーする方法が シャローコピーなのか ディープコピーなのかを、 気を付ける必要があります。 Prototype パターンのクラス構成は、 大きく以下の2つで構成されます。 オブジェクトのコピーを生成するための Manager、そして コピー可能な Prototype です。 Manager のクラス図です。 ManagerClass には、フィールドがあり このフィールドに、コピー可能な Prototype のインスタンスを格納します。 PrototypeManager クラス のコードです。 変数、product の型は、 AbstractPrototype、 抽象クラスであることに注意してください。 PrototypeManager クラスでは、 抽象クラスを操作し、 実際に渡される AbstractPrototype クラスを 継承した実際のクラス名はわかりません。 続いて Prototype クラスのクラス図です。 先ほど登場した AbstractPrototype を 継承した PrototypeA というクラスが あります。 このクラスのコピーを作成するための CreateClone というメソッドがあります。 このように Prototype パターンでは、 Manager と Prototype を利用して インスタンスのコピーを作成します。
エクササイズファイルを使って実践してみましょう。
インストラクターがコースで使用しているファイルはダウンロードできます。見て、聞いて、練習することで、理解度を深めることができます。