Часто я нахожу необходимость конструировать объекты с настраиваемой функциональностью.
В качестве примера предположим, что я создаю DateIterator
. Настраиваемые параметры могут заключаться в том, следует ли повторять закрытый интервал [начало, конец]
или открытый интервал [начало, конец)
.
new DateIterator(boolean openInterval);
new DateIterator(Interval.OPEN_END);
new DateIterator().openEnd();
new OpenEndedDateIterator();
К этому приходит несколько альтернатив, которые я считаю второстепенными, например конфигурация на основе целых чисел new DateIterator (Interval .OPEN_END);
или конфигурация на основе свойств.
Есть ли другие подходы? Какой подход вы предпочитаете?