У меня есть класс JAVA с большим количеством полей. Они должны в основном устанавливаться на этапе конструктора и никогда не меняться. Семантически класс тогда является неизменным.
public class A{
final int a;
final short b;
final double e;
final String f;
final String g;
//and more
}
Проблема в том, что обычно эти поля имеют значения по умолчанию, поэтому я не хочу всегда обременять пользователя конструктором со всеми из них. В большинстве случаев им просто нужно установить пару из них. Есть несколько способов решить эту проблему:
- Мне понадобится много конструктора с другой подписью.
- Создайте кучу заданного метода этого поля и установите только те значения, которые не являются значениями по умолчанию. Но это как-то указывает на другую семантику, отличную от неизменной.
- Создайте новый класс параметров, который изменен и использует этот класс как конструктор.
Ничто из этого не является полностью удовлетворительным. Есть ли другой подход? Благодарю. Один из способов