助けが必要です ハイパーグラフとして表現された複雑なネットワークがあります ハイパー
グラフの頂点にはさまざまなタイプがあります :image,tag ....
何千もの頂点
を作成する必要がありますが、手動で作成するのは困難です!
この場合、ファクトリパターンが役立つと思いました
が、各頂点タイプには特定のプロパティがあり、コンストラクターにパラメーターとして渡す必要があります
この場合、ファクトリメソッドが正しい選択ですか?
助けが必要です ハイパーグラフとして表現された複雑なネットワークがあります ハイパー
グラフの頂点にはさまざまなタイプがあります :image,tag ....
何千もの頂点
を作成する必要がありますが、手動で作成するのは困難です!
この場合、ファクトリパターンが役立つと思いました
が、各頂点タイプには特定のプロパティがあり、コンストラクターにパラメーターとして渡す必要があります
この場合、ファクトリメソッドが正しい選択ですか?
1 つ以上のパラメータを取る create メソッドを持つファクトリに問題はありません
Car blueCar = carFactory.create(CarColor.BLUE);
Car redCar = carFactory.create(CarColor.RED);
または複数の create メソッドを持つファクトリ:
Car blueCar = carFactory.createBlueCar();
Car redCar = carFactory.createRedCar();
ユースケースに応じて検討する価値があるかもしれない Factory の代替は、Builder パターンです。Builder にはパラメータのない create メソッドが 1 つしかありませんが、それによって作成されるオブジェクトのプロパティを設定するメソッドもあります。
carBuilder.setColor(CarColor.BLUE);
Car blueCar = carBuilder.create();
carBuilder.setColor(CarColor.RED);
Car redCar = carBuilder.create();
create メソッドが実際に内部でオブジェクトを作成する方法は、実装の詳細に任されています。たとえば、次のようになります。
通常、ファクトリ メソッドは、作成されるオブジェクトの正確なクラスを指定する必要なく、オブジェクトを作成するために使用されます。
頂点の実装が異なる場合は、これを選択できます。