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)
Patterns of Enterprise Application Architecture
Designing Data-Intensive Applications
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
Working Effectively with Legacy Code
The Pragmatic Programmer: From Journeyman to Master
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

Vitruvius
The ideal architect should be a man of letters, a skillful draftsman, a mathematician, familiar with historical studies, a diligent student of philosophy, acquainted with music, not ignorant of medicine, learned in the responses of jurisconsults, familiar with astronomy and astronomical calculations.
Vitruvius

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...