Изучение принципа единой ответственности с помощью C #

Я пытаюсь изучить принцип единой ответственности (SRP), но это довольно сложно, так как мне очень трудно понять, когда и что мне следует удалить из одного класса и куда я должен поместить / организовать это.

Я искал в Google некоторые материалы и примеры кода, но большинство материалов, которые я нашел, вместо того, чтобы облегчить понимание, усложнили понимание.

Например, если у меня есть список пользователей и из этого списка, у меня есть класс , называемый Control, который выполняет множество вещей, например отправляет приветствие и прощальное сообщение, когда пользователь входит / проверить, может ли пользователь входить или нет, и пинать его, получать пользовательские команды и сообщения и т. д.

Из этого примера вам не нужно много, чтобы понять, что я уже слишком много делаю в один класс, но все же я не достаточно понимаю, как впоследствии его разделить и реорганизовать.

Если я понимаю SRP, у меня будет класс для присоединения к каналу, для приветствия и прощания, класс для проверки пользователя, класс для чтения команд, верно?

Но где и как мне использовать например, удар?

У меня есть класс проверки, поэтому я уверен, что у меня будут все виды проверки пользователя, включая погоду или нет, пользователя следует выгнать.

Значит, функция kick будет внутри класса соединения с каналом и будет вызываться, если проверка завершится неудачно?

Например:

public void UserJoin(User user)
{
    if (verify.CanJoin(user))
    {
        messages.Greeting(user);
    }
    else
    {
        this.kick(user);
    }
}

Будете признательны, если бы вы, ребята, помогли мне здесь с легкими для понимания материалами C #, которые онлайн и бесплатно или показав мне, как я бы разделил цитируемый пример и, если возможно, несколько примеров кодов, советов и т. д.

55
задан Dave Schweisguth 6 September 2014 в 02:29
поделиться