What Is the Dependency Inversion Principle? Policy, Detail and Who Owns the InterfaceThe dependency inversion principle says that the code holding an application's policy should not depend on the …
What Is the Interface Segregation Principle? Fat Interfaces, Role Interfaces and the Clients That Shape ThemThe interface segregation principle says that no client should be forced to depend on methods it does not use. …
What Is the Liskov Substitution Principle? Subtypes, Contracts and the Promises a Base Class MakesThe Liskov substitution principle says that code written against a type must keep working when handed any of …
What Is the Open-Closed Principle? Extension, Abstraction, Plug-ins and the Expression ProblemThe open-closed principle says that a module should be open to new behaviour and closed to edits of the code …
What Is the Single Responsibility Principle? Reasons to Change, Actors and CohesionThe single responsibility principle says a module should have one reason to change, and a reason to change …
What Is Inversion of Control? Frameworks, Callbacks, Dependency Injection and ContainersInversion of control is what happens when someone else's code decides when yours runs, or what it works with. …