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