Какова методика проектирования в LocalDate.format () и LocalDate.parse () - PullRequest
0 голосов
/ 20 сентября 2018

В java.time.LocalDate в Core Java 8 метод format реализован следующим образом:

@Override  // override for Javadoc and performance
public String format(DateTimeFormatter formatter) {
    Objects.requireNonNull(formatter, "formatter");
    return formatter.format(this);
}

Аналогично, статический метод parse реализован следующим образом:

public static LocalDate parse(CharSequence text, DateTimeFormatter formatter) {
  Objects.requireNonNull(formatter, "formatter");
  return formatter.parse(text, LocalDate::from);
}

Это отличается от состав или агрегация , поскольку LocalDate является неизменным , и, следовательно, добавление переменной экземпляра в LocalDateобъект сломал бы неизменность .С точки зрения ответственности, это также не похоже на делегирование , согласно книге Рефакторинг: улучшение дизайна существующего кода , где для делегирования также требуется соответствующий экземплярпеременная

Вопрос: Какой метод проектирования или шаблон применяется?это просто самая слабая зависимость?или также делегирование ?или что-то еще?

...