Category: Software Philosophy

  • Why Open-Closed Principle?

    Open-Closed Principle (OCP), which is the “O” in SOLID design principles is perhaps less discussed. Though I’ve known it for awhile, I’ve never spent the time to really appreciate the value it adds. Usually, all I hear is that any time you use a switch-case statement, you could have used polymorphism instead (and that would…

  • Dependency Inversion Principle

    The dependency inversion principle, postulated by Robert C. Martin, is perhaps the most important object-oriented design principle. It was this principle that fundamentally transformed how I think about application architecture, and it is this principle that enables modularity, fast build times, and test-driven development in large-scale projects, all while promoting clarity and reusability. The dependency…