Appendix A

Software Design Principles

The Oxford English Dictionary defines “principle” as “a fundamental truth or proposition that serves as the foundation for a system of belief or behavior or for a chain of reasoning.” Software design principles lay down fundamental guidelines for designers and developers to effectively build, understand, and maintain a software system.
A number of design principles have been documented in literature. This appendix only lists the principles that have been mentioned in this book for your quick reference.

A.1. Abstraction

The principle of abstraction advocates the simplification of entities through reduction and generalization: reduction is by elimination of unnecessary details and generalization is by identification ...

Get Refactoring for Software Design Smells now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.