我有一个名为ITaskManager的接口,它包含以下方法的签名,
public interface ITaskManager
{
void Initialize();
void CloseConnection();
void OpenConnection()
}
还有一个界面ITaskScheduler,
public interface ITaskScheduler
{
void Schedule();
ITaskManager Task { get; }
}
那么 ITaskManager任务有什么好处{get;声明?
答案 0 :(得分:1)
您可以拥有多个ITaskManager,而任务计划程序需要一个ITaskManager才能生存。
这是一个更好的例子:
public interface IResturant
{
IMenu Menu {get;}
}
public interface IMenu
{
Dictionary<string,double> MenuItems{get;}
}
public class BurgerKingMenu : IMenu
{
// Menu items will contain the whole Burger King menu
}
public class KFCMenu : IMenu
{
// Menu items will contain the whole KFC menu
}
public class KFCResturant : IResturant
{
// will get KFC's IMenu
}
public class BurgerKingReturant : IResturant
{
// will get Burger King's IMenu
}
答案 1 :(得分:1)
它将提供抽象。
稍后您可以从ITaskManager
继承各种任务管理器,例如DataBaseTaskManager
,FileTaskManager
。
通过这种方式,您可以在界面级别工作,而无需担心ITaskManager
和ITaskScheduler
的具体实现。