У мене є величезні класи з більш ніж 2-х рядків коду (і зростаючого), які я хотів би, якщо можливо, переробляти, щоб мати ще легкий і чистий дизайн.
Причина вона така велика, головним чином, в тому, що ці класи обробляють набір карт, до яких потрібно отримати більшість методів, і методи дуже пов'язані один з одним.
Наведу дуже конкретний приклад: у мене є клас, який називається, Serverякий обробляє вхідні повідомлення. Він має такі методи , як joinChatroom, searchUsers, sendPrivateMessageі т.д. Всі ці методи маніпулювання картами типу users, chatrooms, servers, ...
Можливо, було б непогано, якби я міг мати повідомлення про обробку класу, що стосується чат-кімнати, інше обробку всього про користувачів тощо. Але тут головна проблема полягає в тому, що мені потрібно використовувати всі карти в більшості методів. Ось чому зараз усі вони дотримуються Serverкласу, оскільки всі вони покладаються на ці загальні карти і методи дуже пов'язані між собою.
Мені потрібно створити класні кімнати, але з посиланням на кожен з інших об'єктів. Користувачі класу знову з посиланням на всі інші об'єкти тощо.
Я відчуваю, що я б щось робив не так.