The Dependency Inversion Principle is an important concept in software development that can help to write more maintainable and scalable code. It is the 'D' of SOLID principle. The principle consists of two parts: "High-level modules should not depend on low-level modules" and "Both high-level and low-level modules should depend on abstraction".
In this presentation, we will discuss the importance of decoupling our code to reduce the risk of changes in one module affecting other parts of the codebase. We will also examine the use of Dependency Injection as a means of achieving the first part of the principle, and the use of abstract classes or modules to achieve the second part.
We will also discuss how to make decisions on when to apply abstraction and when to use dependency injection based on the likelihood of future changes to the code.
Speak or Suggest
[x] Speak (Give a presentation session)
[ ] Suggestion (Suggesting a topic eager to see/learn)
Intended Audience
[x] All
[ ] Beginner
[ ] Intermediate
[ ] Advanced
Talk Duration
[ ] 5-10 minutes Lightning Talk
[x] 20 minutes Talk
[ ] 30 minutes Talk with Demo
[ ] Others (specify)
Bio / About the author
I am Ankit pariyar, web developer with love for Ruby on Rails. I am currently working as Associate Software Engineer at Truemark Technology
Abstract
The Dependency Inversion Principle is an important concept in software development that can help to write more maintainable and scalable code. It is the 'D' of SOLID principle. The principle consists of two parts: "High-level modules should not depend on low-level modules" and "Both high-level and low-level modules should depend on abstraction".
In this presentation, we will discuss the importance of decoupling our code to reduce the risk of changes in one module affecting other parts of the codebase. We will also examine the use of Dependency Injection as a means of achieving the first part of the principle, and the use of abstract classes or modules to achieve the second part.
We will also discuss how to make decisions on when to apply abstraction and when to use dependency injection based on the likelihood of future changes to the code.
Speak or Suggest
Intended Audience
Talk Duration
Bio / About the author
I am Ankit pariyar, web developer with love for Ruby on Rails. I am currently working as Associate Software Engineer at Truemark Technology