В некоторых наших проектах есть иерархия классов, которая добавляет больше параметров по мере того, как она идет по цепочке. Внизу некоторые классы могут иметь до 30 параметров, 28 из которых просто передаются в супер-конструктор.Управление конструкторами со многими параметрами в Java
Я признаю, что использование автоматизированного DI с помощью чего-то вроде Guice было бы неплохо, но по некоторым техническим причинам эти конкретные проекты ограничены Java.
Соглашение об упорядочении аргументов по алфавиту по типу не работает, потому что если тип рефакторизуется (круг, который вы проходили для аргумента 2, теперь представляет собой Shape), он может внезапно выйти из строя.
Этот вопрос может быть специфическим и чреватым «Если это ваша проблема, вы делаете это неправильно на уровне дизайна», но я просто ищу любые точки зрения.
Конечно, со статическим импортом вам даже не придется «видеть» этих «строителей» вообще. Например, у вас может быть имя статических методов (String name), которое возвращает строитель и Student (StudentBuilder), который возвращает ученика. Следовательно, Студент (имя («Джо»). Возраст (15). Мотто («Я промочил себя»)); – 2008-10-21 20:46:34