2012-02-06 7 views
1

私は工場設計パターンを実装中ですが、別の設計パターンが自分の要求を満たすことができるかどうかを知りたがっています。作成されたオブジェクト、これを実現するデザインパターンを工場で更新しますか?

私がしなければならないこと: 1.スレッドを含むクラスの複数のインスタンスを作成します。インスタンスの違いは、スレッドが実行される頻度です。 2.各インスタンスには、追加および削除によって更新できる参照リストが含まれています。これらの追加および削除は、作成されたクラスの知識を保持しているので、ファブリックから呼び出されます。

もちろん、生成されたインスタンスを持つリストを保持し、そのインスタンスを更新するリポジトリを実装することはできますか?

しかし、更新機能の種類でファブリックを拡張するデザインパターンはありますか?

+0

よろしいですか?そのクラスを作成し、あなたが望む名前を入れてください。工場は名前のように思える。明日クラスに多くの責任がある場合、それを2つのクラスにリファクタリングします。 – ivowiblo

答えて

2

私はあなたの要件を理解することはできません。同じクラスの複数のインスタンスを作成している場合は、「抽象ファクトリ」または「ファクトリメソッド」を意味するかどうかにかかわらず、ファクトリは要件に合ったパターンではありません。

作成している複数のオブジェクトが変更可能でない場合、私はFlyweightパターン(http://en.wikipedia.org/wiki/Flyweight_pattern)を提案していました。

オブジェクトの作成の複雑さとオブジェクトの相違点によっては、Prototypeパターン(クローンvs新規作成)の使用を検討することができます。

あなたの要件の1つは、オブジェクトを操作するために必要な機能を提供するクリーンなインターフェイスを提供することです。このために、Facadeパターンはあなたが望むものです。

ほとんどの場合、1つのパターンですべての問題を解決することはできません。多くの場合、複数のものを組み合わせて独自のものを作成する必要があります。パターンはちょうどガイドです。

関連する問題