Признаюсь честно, иммутабельность объектов — моя идея фикс. Только от одного вида изменяемых объектов меня бросает дрожь, а необходимость добавить классу сеттер заставляет меня рыдать. Километровые конструкторы в моём коде — дело привычное (spoiler: преувеличение, конечно же). Работать с такими, откровенно говоря, очень неприятно. К счастью, есть один способ (не приносящий боли), позволяющий решить эту проблему. Имя ему — паттерн «Строитель» (бурж. Builder). Суть паттерна заключается в вынесении процедуры конструирования объекта за пределы его собственного класса, то есть в класс «строителя». Помимо решения вышеописанной проблемы, такой подход позволяет: - унифицировать процедуру конструирования для объектов одной иерархии, - создавать сценарии Продолжить Рейтинг: 3 (За: 4 | Против: 1) Добавлено: 9.09.2017 от aRiGaTo Комментарии (4)
Святая троица «Инкапсуляция — Наследование — Полиморфизм» — это вершина айсберга под названием ООП. Это всего лишь инструменты для организации взаимодействия между объектами. В этом и есть смысл ООП — не просто создать кучу объектов, а сделать так, чтобы они эффективно взаимодействовали друг с другом. И в данном случае эффективность — это не скорость исполнения программы, а возможность вносить правки в код максимально быстро, при этом не переписывая тонны кода. Как я уже отмечал, с «движком для конфигов на LiketEngine» что-то не так. У него есть проблема — хоть он и написан на объектно-ориентированном языке (на самом деле Java уже давно не ОО, а мультипарадигма), он не ОО. В нём нет той Продолжить Рейтинг: 8 (За: 8 | Против: 0) Добавлено: 16.09.2016 от aRiGaTo Комментарии (20)