computer programming, SOLID ( Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) is a mnemonic acronym introduced by Michael Feathers for the "first five principles" identified by Robert C. Martin [1 ] in the early 2000s [2 ] that stands for five basic principles of [3 ] object-oriented programming and design. The principles when applied together intend to make it more likely that a programmer will create a system that is easy to maintain and extend over time. The principles of SOLID are guidelines that can be applied while working on software to remove [3 ] code smells by causing the programmer to refactor the software's source code until it is both legible and extensible. It is typically used with test-driven development, and is part of an overall strategy of agile and adaptive programming. [3 ] [4 ]
Overview [ edit ]
See also [ edit ]
Design and development principles [ edit ]
References [ edit ]
^ “Principles Of OOD”, Robert C. Martin (“Uncle BOB”), butunclebob.com, Last verified 2009-01-14. (Note the “first five principles”, though the acronym is not used in this article.) Dates back to at least 2003.
^ “Getting a SOLID start.”, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2013-08-19.
^ a b c “SOLID Object-Oriented Design”, Sandi Metz (Duke University), Talk given at the 2009 Gotham Ruby Conference in May, 2009. Last verified 2009-01-15.
^ “Introducing SOLID Object-Oriented Design Principles and Microsoft Unity”, Uwe Schmitz, Presentation given at the Regina .NET User Group in May, 2009. Last verified 2009-01-14.
^ a b “Design Principles and Design Patterns”, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2009-01-14.