澄清单一职责原则
Clarification of single responsibility principle
我对 C# 中的单一职责原则有一个澄清。
假设我有一个方法,在 catch 块中,如果我在数据库中记录错误,是否违反了 SRP,因为该方法同时做两件事?
public void Single()
{
try
{
//
}
catch(Exception e)
{
// log into db
}
}
让我们假设您有一个名为 "HandleError" 的方法,它接收到一个错误并创建一个日志文件(如果它不存在)。创建后,它会在此日志文件中存储一些有关错误的必要信息。
对我来说,如果你在单独class中创建这个方法,负责处理错误日志并从你的catch中调用它,你就不会违反建议零售价。
但是如果您在同一个 class 中创建此方法,您可能会违反模式 因为您的 class 将有不止一个更改的理由。
我对 C# 中的单一职责原则有一个澄清。
假设我有一个方法,在 catch 块中,如果我在数据库中记录错误,是否违反了 SRP,因为该方法同时做两件事?
public void Single()
{
try
{
//
}
catch(Exception e)
{
// log into db
}
}
让我们假设您有一个名为 "HandleError" 的方法,它接收到一个错误并创建一个日志文件(如果它不存在)。创建后,它会在此日志文件中存储一些有关错误的必要信息。
对我来说,如果你在单独class中创建这个方法,负责处理错误日志并从你的catch中调用它,你就不会违反建议零售价。
但是如果您在同一个 class 中创建此方法,您可能会违反模式 因为您的 class 将有不止一个更改的理由。