Flip It and Reverse It The Dependency Inversion Principle is an object-oriented software design principle that easily has the most far-reaching implications across both the underlying code and overall architecture of a software application of all design principles. This post is part of a series on software design principles. As with all design principles, this … Continue reading Design Principles: Dependency Inversion Principle
Month: January 2020
Design Principles: Interface Segregation Principle
Gotta Keep 'em Separated The unfortunately-named Interface Segregation Principle is an abstraction-level corollary to the Single Responsibility Principle. Like the SRP, this principle seeks to limit the burden on consumers and implementers by focusing the exposed API of an interface. This post is part of a series on software design principles. As with all design … Continue reading Design Principles: Interface Segregation Principle
Design Principles: Liskov Substitution Principle
Why Won't this CuboidCylinder Fit?!?! Like Bertrand Meyer's Open/Closed Principle, the Liskov Substitution Principle is an object-oriented software design principle that is unfortunately poorly understood within the industry. It seeks to deal with code quality issues arising for poor use of inheritance mechanisms in object-oriented languages. This post is part of a series on software … Continue reading Design Principles: Liskov Substitution Principle

