Я только начал изучать Java и любопытно, что это хорошая практика в Java для хорошей декомпозиции объектов? Позвольте мне описать проблему. В большом программном проекте это всегда большие классы, такие как "core" или "ui" , которые имеют множество методов и предназначены как посредники между меньшими классами. Например, если пользователь нажимает кнопку в каком-либо окне, этот класс окна отправляет сообщение в класс "ui" . Этот класс "ui" ловит это сообщение и действует соответствующим образом, делая что-то с пользовательским интерфейсом приложения (посредством метода вызова одного из его объектов-членов) или путем отправки сообщения в "ядро" приложения, если это что-то вроде "exit application" или "start network" соединение.
Такие объекты очень трудно разбить, поскольку они являются посредниками между множеством небольших объектов приложения. Но наличие классов в приложении с сотнями и тысячами методов не очень удобно, событие, если такие методы представляют собой тривиальное делегирование задачи от одного объекта к другому. С# решает такую проблему, позволяя разбить реализацию класса на несколько исходных файлов: вы можете разделить объект God любым способом, который вы выберете, и он будет работать.
Любые методы, деля такие объекты на Java?