Articles → .NET → Dependency Inversion principle in C#

Dependency Inversion principle in C#






What does the dependency inversion principle say?













Example




public class PresentationLayer {
  public string GetMessage() {
    ApplicationLayer applicationLayer = new ApplicationLayer();
    return applicationLayer.GetWelcomeMessage();
  }
}
public class ApplicationLayer {
  public string GetWelcomeMessage() {
    return "Welcome Karan";
  }
}




Picture showing the traditional development method where high level module is dependent on low level module

Click to Enlarge











public class PresentationLayer {
  IMessage _message;
  public PresentationLayer(IMessage message) {
    this._message = message;
  }

  public string GetMessage() {
    return _message.GetWelcomeMessage();
  }
}

public interface IMessage {
  string GetWelcomeMessage();
}

public class ApplicationLayer: IMessage {
  public string GetWelcomeMessage() {
    return "Welcome Karan";
  }
}


Picture showing the Dependency Inversion principle method of implementation

Click to Enlarge


Posted By  -  Karan Gupta
 
Posted On  -  Monday, December 28, 2020

Query/Feedback


Your Email Id  
 
Subject 
 
Query/FeedbackCharacters remaining 250