考虑以下接口:
public interface IFoo
{
bool Foo(Person a, Person b);
}
以下是对上述内容的两种实现方式:
public class KungFoo : IFoo
{
public bool Foo(Person a, Person b)
{
if (a.IsAmateur || b.IsAmateur) // common logic
return true;
return false;
}
}
public class KongFoo : IFoo
{
public bool Foo(Person a, Person b)
{
if (a.IsAmateur || b.IsAmateur) // common logic
return false;
return true;
}
}
我应该把“通用逻辑”(在代码中作为注释)放在哪个位置,这样它只存在于一个地方(例如作为Func),不需要为多个实现重复编写(如上例)?
请注意,上面的示例非常简单,但现实生活中的“通用逻辑”更加复杂,而Foo()方法执行了一些有用的操作!
我希望问题已经很清楚(并且没有在其他地方得到答案 - 我确实做了搜索),但如果需要,请随时向我询问更多详细信息。