Разъяснение принципа единой ответственности - PullRequest
0 голосов
/ 14 октября 2018

У меня есть разъяснение относительно принципа единой ответственности в C #.

Предположим, у меня есть метод и в блоке catch, если я регистрирую ошибку в базе данных, является ли это нарушением SRP, потому что метод выполняет две вещи одновременно?

public void Single()
{
    try
    {
        //
    }
    catch(Exception e)
    {
        // log into db
    }
}

1 Ответ

0 голосов
/ 14 октября 2018

Предположим, у вас есть метод с именем "HandleError", который получает ошибку и создает файл журнала, если он не существует.После того, как он создан, он сохраняет необходимую информацию об ошибке в этом файле журнала.

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

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

...