Everything about SOLID
Object-oriented programming design principles
In object-oriented programming and functional programming, SOLID is a mnemonic acronym for five principles intended to make source code more understandable, flexible, and maintainable. Although the principles apply to object-oriented programming, they also form a core philosophy for methodologies such as agile software development and adaptive software development. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: SOLIDA 5-minute orientation
- Skim a recent paper: Challenges in speeding up solid-state battery developmentInfluential work since 2022
- Pick up a classic book: Solid geometry, with problems and applicationsThe most-reprinted book on the subject
- Read the landmark paper: New response evaluation criteria in solid tumours: Revised RECIST guideline (version 1.1)Cited 26,007 times
- Go sideways: Interface segregation principleA closely related topic
- Go sideways: Liskov substitution principleA closely related topic
đź“– Definitions
Adjective That can be picked up or held, having a texture, and usually firm. Unlike a liquid, gas or plasma.
Adjective Appreciably large in size, quantity, or value.
Adjective Lacking holes, hollows or admixtures of other materials.
Adjective Strong or unyielding.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
New response evaluation criteria in solid tumours: Revised RECIST guideline (version 1.1)
Reporting physisorption data for gas/solid systems with special reference to the determination of surface area and porosity (Recommendations 1984)
New Guidelines to Evaluate the Response to Treatment in Solid Tumors
Inhibited Spontaneous Emission in Solid-State Physics and Electronics
RESISTANCE OF SOLID SURFACES TO WETTING BY WATER
Peptidotriazoles on Solid Phase: [1,2,3]-Triazoles by Regiospecific Copper(I)-Catalyzed 1,3-Dipolar Cycloadditions of Terminal Alkynes to Azides
The kinetics of precipitation from supersaturated solid solutions
Lead Iodide Perovskite Sensitized All-Solid-State Submicron Thin Film Mesoscopic Solar Cell with Efficiency Exceeding 9%
🆕 Influential since 2022
Challenges in speeding up solid-state battery development
Efficacy and Safety of Trastuzumab Deruxtecan in Patients With HER2-Expressing Solid Tumors: Primary Results From the DESTINY-PanTumor02 Phase II Trial
Lithium Batteries and the Solid Electrolyte Interphase (SEI)—Progress and Outlook
Environmental Sustainability Impacts of Solid Waste Management Practices in the Global South
Elastomeric electrolytes for high-energy solid-state lithium batteries
📚 Books worth reading
Solid geometry, with problems and applicationsHerbert Ellsworth Slaught, Nels Johann Lennes · 1911
Solid State PhysicsFrederick Seitz · 1956
Electronic DevicesThomas L. Floyd · 1984
Solid State PhysicsHenry Ehrenreich, Frans Spaepen · 1970
Introductory Electronic Devices and CircuitsRobert T. Paynter · 1989
Introduction to solid state physicsCharles Kittel · 1953- 📕Anvendt elektronikJan Soelberg · 1970
Elements of materials science and engineering, 6th editionLawrence H. Van Vlack · 1975
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Interface segregation principle In the field of software engineering, the interface segregation principle (ISP) states that no code should be forced to depend on methods it does not use…
- Liskov substitution principle The Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called strong behavioral subtyping, that was initially introduced…
- Dependency inversion principle In object-oriented design, the dependency inversion principle is a specific methodology for loosely coupled software modules. When following this principle…
- Object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on objects – software entities that encapsulate data and function(s).[clarification needed]…
- Index of object-oriented programming articles This is a list of terms found in object-oriented programming. Abstract class Accessibility Abstract method Abstraction (computer science) Access control…
- Open–closed principle In object-oriented programming, the open–closed principle (OCP) states "software entities (classes, modules, functions, etc.) should be open for extension…
- Robert C. Martin Robert Cecil Martin (born 5 December 1952), colloquially called "Uncle Bob", is an American software engineer, instructor, and author. He is most recognized…
- Single-responsibility principle In computer programming, the single-responsibility principle (SRP) is a software design maxim stating that "a module should be responsible to one, and…