我正在阅读依赖倒置原则。它指出模块应该依赖于抽象。我了解大部分部分,并且可以应用它们。有一处混乱。
每当我们调用依赖类方法时。我们有时将参数作为对象传递。并且这个对象需要被实例化并作为参数传递
实体.cs
public class Entity
{
public string Prop1 {get; set;}
public string Prop2 {get; set;}
}
客户端类.cs
public class ClientClass
{
private readonly IDependentClass _dep;
public ClientClass(IDependentClass dep)
{
_dep = dep;
}
public void Method()
{
var e = new Entity();
_dep.Method(e)
}
}
依赖类.cs
public class DependentClass: IDependentClass
{
public void Method(Entity e)
{
}
}
这里的 Entity 类只是一个数据传输对象。但是它对违反 DIP 的 ClientClass 和 DependentClass 有具体的依赖。我的理解正确吗?如何解决这个问题?