SOLID Design Principles in Software Engineering |
||
|
|
|
© 2024 by IJCTT Journal | ||
Volume-72 Issue-9 |
||
Year of Publication : 2024 | ||
Authors : Naveen Chikkanayakanahalli Ramachandrappa | ||
DOI : 10.14445/22312803/IJCTT-V72I9P104 |
How to Cite?
Naveen Chikkanayakanahalli Ramachandrappa, "SOLID Design Principles in Software Engineering," International Journal of Computer Trends and Technology, vol. 72, no. 9, pp. 18-23, 2024. Crossref, https://doi.org/10.14445/22312803/IJCTT-V72I9P104
Abstract
In contemporary software development, ensuring clarity, flexibility, and maintainability remains a persistent challenge, particularly as systems grow in complexity. While SOLID principles offer a robust framework to address these issues, many developers struggle with understanding and applying these guidelines effectively in real-world scenarios. Developed by Robert C. Martin, these principles—Single Responsibility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle—are fundamental to object-oriented programming, especially in languages such as C#. This document addresses the research gap by offering a comprehensive exploration of each SOLID principle, utilizing practical C# examples to elucidate its application. The goal is to provide developers with actionable insights into leveraging these principles to overcome common challenges.
Keywords
Cohesion, Decoupling, Extensibility, Modularity, Substitutability.
Reference
[1] Robert C. Martin, Clean Architecture: A Craftsman's Guide to Software Structure and Design, 1st ed., Prentice Hall, 2017.
[Google Scholar] [Publisher Link]
[2] Bertrand Meyer, Object-Oriented Software Construction, 2nd ed., Prentice Hall, pp. 1-1254, 1997.
[Google Scholar] [Publisher Link]
[3] Barbara Liskov, Data Abstraction and Hierarchy, Addison-Wesley, 1987. [Online]. Available: https://www.cs.tufts.edu/~nr/cs257/archive/barbara-liskov/data-abstraction-and-hierarchy.pdf
[4] Robert Cecil Martin, Agile Software Development: Principles, Patterns, and Practices, 1st ed., Prentice Hall PTR, pp. 1-710, 2003.
[Google Scholar] [Publisher Link]
[5] Robert C. Martin, and Micah Martin, Agile Principles, Patterns, and Practices in C#, Pearson, pp. 1-768, 2006.
[Google Scholar] [Publisher Link]