依赖倒置原则:高级和低级模块示例

时间:2017-04-25 06:46:03

标签: c# design-principles dependency-inversion

我正在通过以下link来了解高级别和低级别模块在依赖性倒置原则中的含义。

根据给出的解释,下面的代码片段是一个好/适当的例子吗?

public class HighLevel
{
    private IAbstraction _abstraction;

    public HighLevel(IAbstraction abstraction)
    {
        _abstraction = abstraction;
    }

    public void Act()
    {
        _abstraction.DoSomething();
    }

}

public interface IAbstraction
{
    void DoSomething();
}

public class LowLevel: IAbstraction
{
    public void DoSomething()
    {
        //Do something
    }
}

1 个答案:

答案 0 :(得分:5)

简短回答:是的,这是依赖性倒置原则的一个例子