Цитата:
Сообщение от
pitersky
А что в этом подходе плохого?
Почему плохого?
А что плохого, например, в ноже? Инструмент и инструмент. У всего есть область применения.
Лучше расскажите что хорошего.
Цитата:
Сообщение от
S.Kuskov
Я думаю это сделано для использования различных порождающих шаблонов проектирования (
Порождающие шаблоны проектирования).
Для того чтобы такие объекты было удобнее создавать другим более высокоуровневые объектам, а не программистам. Точнее чтобы программистам было удобнее программировать эти высокоуровневые объекты на создание таких объектов. Ну вы поняли
А почему такой стиль делает программное создание более удобным?
=============
Накину в обсуждение:
* стиль с parm-методами "скрывает" обязательные для объекта параметры
* стиль с parm-методами вынуждает добавлять валидацию внутреннего состояния объекта в начале каждого метода
Поясню что имею в виду.
Возьмем класс DictTable. У него в методе new явно указан обязательный для объекта параметр tableId.
Во-первых, сразу видно какой параметр обязателен.
Во-вторых, в методах класса можно не делать проверку "пропущен ли tableId", достаточно сделать такую проверку в new