【发布时间】:2018-02-14 17:09:20
【问题描述】:
我已经使用接口完成了演示实现:
class Program
{
static void Main(string[] args)
{
#region Calling method without interface
GreaterThanZeroTest objGreaterThanZeroTest = new GreaterThanZeroTest { SomeTestVariable = 10 };
Console.WriteLine(objGreaterThanZeroTest.SomeTestMethod().ToString());
LessThanZeroTest objLessThanZeroTest = new LessThanZeroTest { SomeTestVariable = -1 };
Console.WriteLine(objLessThanZeroTest.SomeTestMethod().ToString());
#endregion
#region Calling using interface
runTest(new GreaterThanZeroTest() { SomeTestVariable = 10 });
runTest(new LessThanZeroTest() { SomeTestVariable = 10 });
#endregion
Console.ReadKey();
}
public static bool runTest(ITest test)
{
return test.SomeTestMethod();
}
}
public interface ITest
{
int SomeTestVariable { get; set; }
bool SomeTestMethod();
}
// Determines whether an int is greater than zero
public class GreaterThanZeroTest : ITest
{
public int SomeTestVariable { get; set; }
public bool SomeTestMethod()
{
return SomeTestVariable > 0;
}
}
// Determines whether an int is less than zero
public class LessThanZeroTest : ITest
{
public int SomeTestVariable { get; set; }
public bool SomeTestMethod()
{
return SomeTestVariable < 0;
}
}
我看到上述实现有两个好处:
- 代码看起来很干净。
- 它将节省一行代码。
我们将从这种实现中获得哪些其他好处,以及我们何时应该在应用程序架构中考虑接口?
【问题讨论】:
-
合同.. 对这些标志感到抱歉。你可以在很多文章中找到这些项目。
-
你可以尝试阅读依赖注入
标签: c#