Ho alcune classi enormi di oltre 2k linee di codice (e in crescita) che vorrei refactoring, se possibile, per avere un po 'più leggero e pulito design.
Il motivo per cui è così grande è principalmente perché queste classi gestiscono un insieme di mappe a cui la maggior parte dei metodi devono accedere, e i metodi sono molto connessi tra loro.
Darò un esempio molto concreto: ho una classe chiamata Server
che gestisce i messaggi in arrivo.
Ha metodi come joinChatroom
, searchUsers
, sendPrivateMessage
, ecc.
Tutti questi metodi manipolano le mappe come users
, chatrooms
, servers
, ...
Forse sarebbe bello se potessi avere una classe che gestisse messaggi riguardanti Chatrooms, un'altra che gestisse tutto su Utenti, ecc.
ma il problema principale qui è che ho bisogno di usare tutte le mappe nella maggior parte dei metodi.
Ecco perché per ora sono tutti nella classe Server
poiché fanno affidamento su queste mappe comuni e i metodi sono molto connessi tra loro.
Avrei bisogno di creare una chat room di classe, ma con un riferimento a ciascuno degli altri oggetti. Un utente di classe di nuovo con un riferimento a tutti gli altri oggetti, ecc.
Mi sento come se stessi facendo qualcosa di sbagliato.