Хранение зависимости в поле в Java
Объект, который нужен классу для работы, часто называют зависимостью. Сначала сделаем зависимость - валидатор заголовка:
class TitleValidator {
boolean isValid(String title) {
return !title.isBlank();
}
}
Теперь сохраним валидатор в поле класса Post.
Так все методы записи смогут пользоваться одним и тем же
помощником:
class Post {
private String title;
private TitleValidator validator;
Post(TitleValidator validator) {
this.validator = validator;
}
}
Добавим метод записи заголовка. Перед сохранением он обращается к валидатору:
void setTitle(String title) {
if (validator.isValid(title)) {
this.title = title;
}
}
Создадим валидатор, передадим его в запись и установим заголовок:
TitleValidator validator = new TitleValidator();
Post post = new Post(validator);
post.setTitle("News");
Сделайте класс AgeValidator, который проверяет,
что возраст работника от 0 до 120.
Сохраните объект AgeValidator в поле класса
Employee и используйте его при записи возраста.