Mam kilka ogromnych klas ponad 2k wierszy kodu (i ciągle rośnie), które chciałbym przebudować, jeśli to możliwe, aby mieć trochę więcej lekkiego i czystego projektu.
Powód, dla którego jest tak duży, to głównie dlatego, że klasy te obsługują zestaw map, do których większość metod potrzebuje dostępu, a metody są ze sobą bardzo powiązane.
Podam bardzo konkretny przykład: mam klasę o nazwie, Serverktóra obsługuje przychodzące wiadomości. Ma metod, takich jak joinChatroom, searchUsers, sendPrivateMessage, itd. Wszystkie te metody manipulowania mapach takich jak users, chatrooms, servers, ...
Może byłoby miło, gdybym mógł mieć klasę obsługującą wiadomości dotyczące czatów, inną zajmującą się użytkownikami itp., Ale głównym problemem tutaj jest to, że muszę korzystać ze wszystkich map w większości metod. Dlatego na razie wszyscy trzymają się Serverklasy, ponieważ wszyscy polegają na tych wspólnych mapach, a metody są ze sobą bardzo powiązane.
Musiałbym stworzyć czat klasy, ale z odniesieniem do każdego z pozostałych obiektów. Użytkownicy klasy ponownie z odniesieniem do wszystkich innych obiektów itp.
Czuję, że zrobiłbym coś złego.