Клиент использует их с помощью базового класса (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 с карты и возвращает экземпляр. Это похоже на метод, который был бы статичным в производном классе, но тогда клиент не может создавать экземпляры производного класса с существующим объектом. Есть ли более элегантный способ написать это? или у этого есть некоторая применимая модель?
Обязательные/необязательные функции варьируются от одного производного класса к другому, поэтому я не вижу, как это помогает – shrewquest
Базовый класс содержит все параметры. Соответствующие производные классы задают требуемые параметры. Даже вам не нужен производный класс, если вы не переопределяете поведение базового класса. –