从我到目前为止所获得的,DI说不要让一个类实例化它的合作者。
但同样,有一个名为static cling的东西据说引入了不合需要的耦合。
我有以下情况:
context.cs
class context
{
private readonly IStrategy _strategy;
public context(IStrategy strategy)
{
_strategy = strategy;
}
public void execute()
{
_strategy.execute();
}
strategy.cs
public class strategy: IStrategy
{
...
public void execute()
{
...
var int testInput = 1;
helperMethods.DoThatOtherThing(testInput);
....
}
据我所知,strategy.cs
是一个具体的实现,所以调用静态方法毕竟不错。
其他人在说什么?我是在正确的轨道吗?