ROO*_*OMY 1 c# design-patterns
例如:
public class A {}
public class B
{
public void test()
{
A obj = A();
}
}
Run Code Online (Sandbox Code Playgroud)
我只是想找到最好的方法去除类A和之间的依赖关系B,或者如果在子类级别添加更多类,哪种设计模式最适合这个?
A在构造函数中接收一个实例.更好的是A继承一些接口并在构造函数中接收该接口.
public interface IA {}
public class A : IA {}
public class B
{
public IA AInstance { get; set; }
public B (IA a)
{
AInstance = a;
}
public void test()
{
/* do something with `AInstance` */
}
}
Run Code Online (Sandbox Code Playgroud)
并将其全部包含在SOLID主体下
如果你不能IA作为一个依赖,但需要在你的B类中创建它的新实例然后使用工厂设计模式,让B依赖于某些实例ISomeFactory