This article is about the software concept. For the fundamental state of matter, see Solid. For other uses, see Solid (disambiguation).
SOLID
Principles
Single responsibility
Open–closed
Liskov substitution
Interface segregation
Dependency inversion
v
t
e
In software engineering, SOLID is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible, and maintainable. The principles are a subset of many principles promoted by American software engineer and instructor Robert C. Martin,[1][2][3] first introduced in his 2000 paper Design Principles and Design Patterns discussing software rot.[2][4]: 2–3
The SOLID ideas are
The Single-responsibility principle: "There should never be more than one reason for a class to change."[5] In other words, every class should have only one responsibility.[6]
The Open–closed principle: "Software entities ... should be open for extension, but closed for modification."[7]
The Liskov substitution principle: "Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it."[8] See also design by contract.[8]
The Interface segregation principle: "Clients should not be forced to depend upon interfaces that they do not use."[9][4]
The Dependency inversion principle: "Depend upon abstractions, [not] concretes."[10][4]
The SOLID acronym was introduced later, around 2004, by Michael Feathers.[11]
Although the SOLID principles apply to any object-oriented design, they can also form a core philosophy for methodologies such as agile development or adaptive software development.[3]
^Martin, Robert C. "Principles Of OOD". ButUncleBob.com. Archived from the original on Sep 10, 2014. Retrieved 2014-07-17.. (Note the reference to "the first five principles", although the acronym is not used in this article.) Dates back to at least 2003.
^ abMartin, Robert C. (13 Feb 2009). "Getting a SOLID start". Uncle Bob Consulting LLC (Google Sites). Archived from the original on Sep 17, 2013. Retrieved 2013-08-19.
^ abMetz, Sandi (May 2009). "SOLID Object-Oriented Design". YouTube. Archived from the original on 2021-12-21. Retrieved 2019-08-13. Talk given at the 2009 Gotham Ruby Conference.
^ abcMartin, Robert C. (2000). "Design Principles and Design Patterns" (PDF). objectmentor.com. Archived from the original on 2015-09-06.{{cite web}}: CS1 maint: unfit URL (link)
^"Single Responsibility Principle" (PDF). objectmentor.com. Archived from the original on 2 February 2015.{{cite web}}: CS1 maint: unfit URL (link)
^Martin, Robert C. (2003). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. p. 95. ISBN 978-0135974445.
^"Open/Closed Principle" (PDF). objectmentor.com. Archived from the original on 5 September 2015.{{cite web}}: CS1 maint: unfit URL (link)
^ ab"Liskov Substitution Principle" (PDF). objectmentor.com. Archived from the original on 5 September 2015.{{cite web}}: CS1 maint: unfit URL (link)
^"Interface Segregation Principle" (PDF). objectmentor.com. 1996. Archived from the original on 5 September 2015.{{cite web}}: CS1 maint: unfit URL (link)
^"Dependency Inversion Principle" (PDF). objectmentor.com. Archived from the original on 5 September 2015.{{cite web}}: CS1 maint: unfit URL (link)
^Martin, Robert (2018). Clean Architecture: A Craftsman's Guide to Software Structure and Design. p. 58. ISBN 9780134494166.
In software engineering, SOLID is a mnemonic acronym for five design principles intended to make object-oriented designs more understandable, flexible...
Solid is one of the four fundamental states of matter along with liquid, gas, and plasma. The molecules in a solid are closely packed together and contain...
SOLiD (Sequencing by Oligonucleotide Ligation and Detection) is a next-generation DNA sequencing technology developed by Life Technologies and has been...
solid state or solid-state in Wiktionary, the free dictionary. Solid state, or solid matter, is one of the four fundamental states of matter. Solid state...
Solid geometry or stereometry is the geometry of three-dimensional Euclidean space (3D space). A solid figure is the region of 3D space bounded by a two-dimensional...
Solid earth refers to "the earth beneath our feet" or terra firma, the planet's solid surface and its interior.: v : 1 It excludes the Earth's fluid...
In geometry, a Platonic solid is a convex, regular polyhedron in three-dimensional Euclidean space. Being a regular polyhedron means that the faces are...
Solid Snake (Japanese: ソリッド・スネーク, Hepburn: Soriddo Sunēku) is a fictional character from the Metal Gear series created by Hideo Kojima and developed and...
A crystal or crystalline solid is a solid material whose constituents (such as atoms, molecules, or ions) are arranged in a highly ordered microscopic...
In geometry, a solid angle (symbol: Ω) is a measure of the amount of the field of view from some particular point that a given object covers. That is...
A color solid is the three-dimensional representation of a color space or model and can be thought as an analog of, for example, the one-dimensional color...
electronic band Solid Gold Cadillac, British jazz-rock group Solid Gold Chartbusters, collaboration between Guy Pratt and Jimmy Cauty Solid Gold Records...
In mathematics, a solid torus is the topological space formed by sweeping a disk around a circle. It is homeomorphic to the Cartesian product S 1 × D...
provided by scientific advancements. The series initially follows mercenary Solid Snake given government missions of finding the Metal Gear weapon, resulting...
solid (or non-crystalline solid) is a solid that lacks the long-range order that is characteristic of a crystal. The terms "glass" and "glassy solid"...
The Linksjugend ['solid] (en: Left Youth ['solid]) is a political youth organisation in Germany. It is the official youth wing of the political party The...
In computing, solid compression is a method for data compression of multiple files, wherein all the uncompressed files are concatenated and treated as...
Solid fuel refers to various forms of solid material that can be burnt to release energy, providing heat and light through the process of combustion....
In geometry, a Johnson solid is a strictly convex polyhedron each face of which is a regular polygon. There is no requirement that each face must be the...
The Solids are a power pop band from Middletown, Connecticut. The band consists of Carter Bays (vocals, guitar), Craig Thomas (drums), Patrick Butler (keyboards)...
Suspended solids refers to small solid particles which remain in suspension in water as a colloid or due to motion of the water. Suspended solids can be...