ฉันมีชั้นเรียนขนาดใหญ่ที่มีโค้ดมากกว่า 2K บรรทัด (และเพิ่มขึ้นเรื่อย ๆ ) ที่ฉันอยากจะสร้างใหม่หากเป็นไปได้เพื่อให้มีการออกแบบที่เบาและสะอาดมากขึ้น
เหตุผลที่มันใหญ่มากส่วนใหญ่เป็นเพราะคลาสเหล่านี้จัดการกับชุดของแผนที่ที่วิธีการส่วนใหญ่จำเป็นต้องเข้าถึงและวิธีการเชื่อมต่อกันมาก
ฉันจะยกตัวอย่างชัดเจน: ฉันมีคลาสที่เรียกServer
ว่าจัดการข้อความขาเข้า มันมีวิธีการเช่นjoinChatroom
, searchUsers
, sendPrivateMessage
และอื่น ๆ ทั้งหมดของวิธีการเหล่านี้จัดการแผนที่เช่นusers
, chatrooms
, servers
...
บางทีมันอาจจะดีถ้าฉันมีข้อความการจัดการเรียนที่เกี่ยวข้องกับห้องสนทนาการจัดการกับผู้ใช้อื่น ๆ แต่ปัญหาหลักที่นี่คือฉันต้องใช้แผนที่ทั้งหมดในวิธีการส่วนใหญ่ นั่นเป็นเหตุผลที่ตอนนี้พวกเขาทั้งหมดติดอยู่ในServer
ชั้นเรียนเพราะพวกเขาทั้งหมดพึ่งพาแผนที่ทั่วไปเหล่านี้และวิธีการเชื่อมต่อซึ่งกันและกัน
ฉันจะต้องสร้างห้องเรียนแชท แต่มีการอ้างอิงถึงวัตถุอื่น ๆ ผู้ใช้คลาสอีกครั้งโดยอ้างอิงถึงวัตถุอื่นทั้งหมดเป็นต้น
ฉันรู้สึกว่าฉันจะทำอะไรผิด