Я пытаюсь изучить принцип единой ответственности (SRP), но это довольно сложно, поскольку мне сложно понять, когда и что я должен удалить из одного класса, и где я должен его поставить/организовать.
Я искал некоторые материалы и примеры кода, но большинство материалов, которые я нашел, вместо того, чтобы упростить понимание, затрудняли понимание.
Например, если у меня есть список пользователей и из этого списка, у меня есть класс Called Control, который выполняет множество функций, таких как "Отправить приветствие" и до свидания, когда пользователь приходит/выдает, проверяет погоду пользователя должен быть в состоянии войти или нет, пинать его, получать пользовательские команды и сообщения и т.д.
Из примера, который вам не нужно много понимать, я уже делаю слишком много в одном классе, но все же я не совсем понимаю, как его разделить и реорганизовать.
Если я понимаю SRP, у меня будет класс для присоединения к каналу, для приветствия и до свидания, класс для проверки пользователя, класс для чтения команд, правильно?
Но где и как я могу использовать удар, например?
У меня есть класс проверки, поэтому я уверен, что у меня будет всякая проверка пользователя там, в том числе погода или не пользователь должен быть ногами.
Итак, функция kick будет внутри класса соединения канала и вызывается, если проверка не выполняется?
Например:
public void UserJoin(User user)
{
if (verify.CanJoin(user))
{
messages.Greeting(user);
}
else
{
this.kick(user);
}
}
Было бы хорошо, если бы вы, ребята, могли мне помочь здесь с легкостью понять материалы С#, которые находятся в сети и бесплатно, или показывая мне, как я буду раскалывать цитируемый пример и, если возможно, некоторые примеры кодов, советы и т.д.