The book club of our company has chosen a new wonderful book for reading:
Third part of the book is about SOLID principles
- Single Responsibility Principle: A module should be responsible to one, and only one, actor.
- Open-Closed Principle: A software artifact should be open for extension but closed for modification
- Liskov Substitution Principle: S is a subtype of T if instead of instance of T we can always use an instance of S
- Interface Segregation Principle: use interfaces to reduce dependency upon changes
- Dependency Inversion Principle: avoid dependencies on volatile concrete elements
I didn’t learn anything new from here (but I am in software engineering for 20+ years already ;). However, this is still a good summarization of key design principles. And it’s worth to remember about them.
Here’s my structured overview of this part of the book:
- Clean Architecture - PART I - Introduction
- Clean Architecture - PART IV - Component Principles
- Clean Architecture - PART II - Starting with the Bricks: Programming Paradigms
- Designing Data-Intensive Applications - Chapter 4 - Encoding and Evolution
- Designing Data-Intensive Applications - Chapter 3 - Storage and Retrieval