liveBook · Manning

SOLID principles

The SOLID principles are five object-oriented software-design principles concerning single responsibility, openness to extension, substitutability, interface segregation, and dependency inversion.

How 3 Manning books explain it

AI-Powered Developer: Build software with ChatGPT and Copilot

A set of five software-design principles intended to improve the flexibility and maintainability of object-oriented designs.

How it is used
Guides iterative object-model refinement toward designs that can accommodate future asset-management features.
How deep it goes
Defines all five principles briefly and demonstrates inheritance plus strategy substitution, without a detailed implementation-level treatment.
Examples
Uses an IT asset-management model with Asset and Hardware classes and interchangeable depreciation strategies.
What you can do after
Apply it via ChatGPT to question and refine class relationships, interfaces, and extension points in a proposed design.

Read how AI-Powered Developer: Build software with ChatGPT and Copilot explains SOLID principles →

ASP.NET Core in Action, 3e

SOLID is a mnemonic for five object-oriented design principles: single responsibility, open-closed, Liskov substitution, interface segregation, and dependency inversion.

How it is used
Frames object-oriented design guidance and motivates dependency injection as complexity grows.
How deep it goes
Defines the five-principle mnemonic and connects it to dependency injection, but does not explain each principle individually.
Examples
Uses C# registration handlers, email senders, manually created dependencies, and container-provided dependencies.
What you can do after
Understand how dependency injection applies one SOLID-related design idea to control application complexity.

Read how ASP.NET Core in Action, 3e explains SOLID principles →

Functional Design and Architecture: Examples in Haskell

SOLID is a set of five object-oriented design principles concerning responsibility, extensibility, substitutability, interface design, and dependency management.

How it is used
Guides maintainable and reusable design decisions in object-oriented and functional programs.
How deep it goes
Defines all five principles and works through LSP using a contract-violating lamp implementation.
Examples
Uses ILampSwitcher, DaylightLamp, TableLamp, and turnAllOff to demonstrate substitution and contract violation.
What you can do after
Evaluate design decisions with SOLID principles across object-oriented and functional code.

Read how Functional Design and Architecture: Examples in Haskell explains SOLID principles →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.