Если вы можете найти подмножества свойств объекта «бога», которые не взаимодействуют друг с другом, то каждый из этих наборов будет логически хорошим кандидатом на новый тип объекта. Однако, если все свойства этого «божьего» объекта зависят друг от друга, вы не можете ничего сделать, чтобы разложить объект.

ько начал изучать Java, и мне любопытно, есть ли хорошая практика в Java для хорошей декомпозиции объектов? Позвольте мне описать проблему. В большом программном проекте это всегда большие классы, такие как «core» или «ui», которые имеют много методов и предназначены в качестве посредников между небольшими классами. Например, если пользователь нажимает кнопку в каком-либо окне, класс этого окна отправляет сообщение в класс 'ui'. Этот класс 'ui' ловит это сообщение и действует соответствующим образом, делая что-то с пользовательским интерфейсом приложения (посредством вызова метода одного из его объектов-членов) или отправляя сообщение в «ядро» приложения, если это что-то вроде «выхода из приложения» или «запуска сети». подключение.

Такие объекты очень трудно разбить на части, поскольку они являются просто посредниками между множеством небольших прикладных объектов. Но иметь в приложении классы с сотнями и тысячами методов не очень удобно, если такие методы представляют собой тривиальное делегирование задачи от одного объекта к другому. C # решает такую ​​проблему, позволяя разбить реализацию класса на несколько исходных файлов: вы можете разделить объект бога любым способом, и вы будете работать.

Любые практики, разделяющие такие объекты в Java?

Ответы на вопрос(5)

Ваш ответ на вопрос