クライアントは、基本クラス (Java コード) を介してそれらを使用します。
BaseClass baseObj1 = new DerivedClass("valueofreqdfeature");
//the required feature gets added to the map in the base class
Map<String, Object> features = Collections.singletonMap("requiredFeature1Name","requiredFeatureValue");
BaseClass newBaseObj = baseObj1.createNewConcreteFeature(features);
createNewConcreteFeature
マップから requiredFeature 値のみを取得し、インスタンスを返します。これは、派生クラスで静的になるメソッドのように見えますが、クライアントは既存のオブジェクトで派生クラスのインスタンスを作成できません。これを書くよりエレガントな方法はありますか?または、これには適用可能なパターンがありますか?