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