私が自動車メーカーの Java ソフトウェア開発者であると想像してください。私は、多数の社内アプリケーションで使用されるライブラリの作成を任されています。製造された自動車モデルのタイプごとに、そのモデルを表す Java オブジェクトを作成します。現行モデルだけでなく、プロトタイプモデルも追跡できなければなりません。プロトタイプ モデルには 1 つの名前が付けられますが、それが生産に入ると変更される可能性が非常に高くなります。ライブラリを使用して、プロトタイプを説明し、本番環境に切り替えたときに名前が変更されるようにする必要があります。
私の質問は、これに対する最善のアプローチは何ですか?
ここに私の考えがあります...
この状況をうまく処理するためのアイデアを求めて、私は何冊かの本を読んできました。すぐに、工場のパターンを使用することに頭が下がります。各モデルの具体的なオブジェクトを返す CarModelFactory クラスがあります。例えば:
public class CarModelFactory() {
public CarModel createCivicModel() {}
public CarModel createAccordModel() {}
public CarModel createPrototype1() {
return new ModelX();
}
public CarModel createPrototype1() {
return new ModelY();
}
これが最善のアプローチでしょうか?抽象化の別のレイヤーが必要だと思います。私が見る問題は次のとおりです。
1) ModelX が本番環境に入った場合、そのためのメソッドを作成し、createPrototype1 メソッドに別のものを配置すると、そのメソッドを呼び出すプログラムが間違ったオブジェクトを取得するようになりました
2) ModelX の名前を変更するにはどうすればよいですか?
お時間をいただきありがとうございます!