【发布时间】:2014-08-28 06:07:34
【问题描述】:
我是 MVVM 的新手,请见谅。我需要创建一个关于员工工资单的演示项目(仅供我练习)。我需要有一个实现 IEmployee 接口和 ISalary 接口的 Employee 模型。我的问题是 IEmployee 和 ISalary 接口应该在哪里?因为我看到很多例子都使用直接类本身而不是使用接口,所以我对使用接口感到困惑。我应该在哪里放置我的以下接口,或者在我有 Employee 类的 Model 中,或者我应该有一些接口文件夹并将我的所有接口都放在那里。
客户;
public interface IEmployee
{
string EmployeeName { get; set; }
string Department { get; set; }
string Contact { get; set; }
}
工资详情
public interface ISalaryDetails
{
int Salary { get; set; }
int Month { get; set; }
}
员工
public class Employee : IEmployee, ISalaryDetails
{
public string EmployeeName
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public string Department
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public string Contact
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public int Salary
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public int Month
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
}
【问题讨论】:
-
那些看起来很奇怪的界面......无论如何,我不明白你在问什么。你有什么困惑?如果只是将它们放在您的项目中,那完全取决于您,这个问题应该基于意见关闭。
-
接口是关于合约的。如果必须实现接口定义的方法,则可以在类中继承接口,仅此而已。例如,在您的情况下,您可能有一个从 ISalaryDetails 但不是从 IEmployee 继承的类“Boss”(即使您定义的成员多于方法,这不是接口的重点)。最后,您的问题显然与 wpf 或 mvvm 无关,如果您考虑一下,也与 c# 和 .net 无关。
-
可能是我不够清楚。正如我所说,我对 MVVM 完全陌生,我会用 MVVM 搞乱正常项目,对此我感到抱歉。希望你们是这方面的专家。所以让我知道在 MVVM 和我的项目中放置接口的位置。正如下面的答案所说,看起来我也必须考虑单元测试项目。好的,无论如何我的问题是我的项目中应该在哪里使用我的接口。在模型文件夹或视图模型文件夹中希望现在很清楚。