Software Design


Domain-Driven Design: Tackling Complexity in the Heart of Software
Design Patterns: Elements of Reusable Object-Oriented Software
A Philosophy of Software Design
Head First Design Patterns
Clean Code: A Handbook of Agile Software Craftsmanship
Refactoring: Improving the Design of Existing Code (Addison-wesley Object Technology Series)
Designing Data-Intensive Applications
Patterns of Enterprise Application Architecture
Code Complete: A Practical Handbook of Software Construction
Clean Architecture
Implementing Domain-Driven Design
Fundamentals of Software Architecture: An Engineering Approach
Building Microservices: Designing Fine-Grained Systems
Refactoring to Patterns (Addison Wesley Signature Series)
Working Effectively with Legacy Code
Residues by Barry    O'ReillySimulacra and Simulation by Jean BaudrillardOrder Out of Chaos by Ilya PrigogineResilience by David      ChandlerMatter and Memory by Henri Bergson
Residuality
19 books — 1 voter

Akshat Paul
Software will give you respect, but hardware will give you the Power.
Akshat Paul, RubyMotion iOS Development Essentials

Steve Klabnik
Inheritance has recently fallen out of favor as a programming design solution in many programming languages because it’s often at risk of sharing more code than necessary. Subclasses shouldn’t always share all characteristics of their parent class but will do so with inheritance. This can make a program’s design less flexible. It also introduces the possibility of calling methods on subclasses that don’t make sense or that cause errors because the methods don’t apply to the subclass. In addition ...more
Steve Klabnik, The Rust Programming Language

More quotes...