Мне интересно, как лучше всего убедиться, что у класса есть все необходимые данные, прежде чем его можно будет использовать.
Например, скажем, у меня есть класс Book
, и я хочу передать набор свойств о книге конструктору Book
.
Book book = new Book(bookProperties);
Что я хочу убедиться, что BookProperties
завершено, т. Е. Есть вся информация.
Допустим, в этом примере у меня есть следующее:
- Название книги
- Автор книги
- Дата публикации книги
Одним из способов является то, что я могу создать конструктор по умолчанию, который принимает только все 3 элемента:
BookProperties bookProperties = new BookProperties("2001: A Space Odyssey",
"Arthur C. Clarke",
1968);
Теперь это нормально, если у нас есть только три значения, но, скажем, у моего класса есть 10 или более свойств, которые пользователь должен инициализировать до создания класса Book
.
Я думал о том, чтобы в BookProperties был метод с именем isValid
. Тогда в конструкторе класса Book
я бы посмотрел, если bookProperties.isValid
, и утверждал, что возвращаемое значение ложно.
Это хорошая идея или я все делаю неправильно?