所以我有这个数据类:
public class RecentProject
{
public string ProjectName { get; set; }
public string ProjectPath { get; set; }
public DateTime CreationDate { get; set; }
public string OutputFolder { set; get; } = "";
}
它只是定义了最近项目的属性,我想应用依赖反转,所以我从类中提取了一个接口:
public interface IRecentProject
{
DateTime CreationDate { get; set; }
string OutputFolder { get; set; }
string ProjectName { get; set; }
string ProjectPath { get; set; }
}
然后我做了一个ioc容器(控制反转)并将类类型注册为接口:
Mvx.IoCProvider.RegisterType<IRecentProject, RecentProject>();
因此,当我想创建一个最近使用的项目时,在我的应用程序中的任何地方:
Mvx.IoCProvider.Resolve<IRecentProject>();
但是在我这样做之后,我遇到了一些当前设置很难解决的问题,所以我认为这可能不是在此类中应用依赖倒置的正确方法,因为没有任何依赖倒置好处适用于:
- 单元测试:因为我不会对数据类进行单元测试
- 更改类实现的能力:因为类中的任何更改都需要更改接口才能使用添加的新功能
那我该怎么办,我在这个话题上搜索了很多,找不到明确的答案,
请帮助并提前感谢。