嗨,这可能是微不足道的,但我正在尝试使用接口来理解类实例化。所以下面是我的代码:
public interface IRepository
{
string GetMemberDisplayName();
}
public class Repository : IRepository
{
private readonly Manager _manager;
public Repository() {}
public Repository(string connectionName)
{
_manager = new Manager(connectionName);
}
public string GetMemberDisplayName(string ID)
{
return "FooFoo";
}
}
现在在另一个使用存储库类功能的类中已将其实例化如下:
public class LogServiceHelper
{
readonly IRepository _alrAttendance;
readonly IRepository _alrUsers;
public LogServiceHelper()
{
_alrAttendance = new Repository("value1");
_alrUsers = new Repository("value2");
}
public string GetMemberName(string empId)
{
return _alrUsers.GetMemberDisplayName(empId);
}
}
我的问题是,这是否是使用参数化构造函数实例化类的正确方法。如果是,那么第二个问题是为什么在这种情况下我们需要接口。我们可以直接实例化类而不创建接口吗?