Я понимаю, в чем смысл SRP и что означает сплоченность класса. Тем не менее, я не уверен, как действовать в сценарии, который я немного упростил, но, надеюсь, все еще иллюстрирует суть - код представляет класс в простой игре. У класса есть одна цель - представить игрока, но, конечно, он делает много вещей. С точки зрения сплоченности, не многие методы разделяют поля. Должен ли я изменить его?
class Player
{
int ID;
string Name;
int HP;
int Mana;
int MaxHp;
int Max Mana;
List<Item> items;
..
void Chat() {}
void Trade() {}
void Attack()
int CalculateDamage(){}
void UseItem(){}
...
}