Software Design Principles
Software Design Principles
About the Book
In the dynamic and ever-evolving field of software development, mastering foundational design principles is essential for building robust, maintainable, and scalable systems. Software Design Principles is a comprehensive guide tailored for developers at all levels who aspire to elevate their coding practices and architectural skills.
What you'll learn
This book delves deep into the core principles that underpin effective software design, providing you with the knowledge and tools to create clean, efficient, and adaptable code. Key principles covered include:
- DRY (Don’t Repeat Yourself): Eliminate redundancy to create more maintainable code.
- YAGNI (You Aren’t Gonna Need It): Focus on essential features to avoid unnecessary complexity.
- KISS (Keep It Simple, Stupid): Simplify your designs for better readability and easier maintenance.
- POLA (Principle of Least Astonishment): Design intuitive systems that meet user and developer expectations.
- SoC (Separation of Concerns): Organize code to isolate different functionalities for enhanced clarity.
- CoC (Convention over Configuration): Streamline development by adhering to standard conventions.
- SOLID Principles (SRP, OCP, LSP, ISP, DIP): Build flexible and scalable software.
- IHP (Interface Hierarchy Principle): Design effective interfaces for better modularity.
- DBC (Design by Contract): Establish clear agreements within your code to ensure reliability.
- LoD (Law of Demeter): Minimize dependencies to create more resilient systems.
- TDAP (Tell, Don’t Ask Principle): Encourage objects to manage their own data for better encapsulation.
- EBTI (Explicit Is Better Than Implicit): Build explicit code on its intentions.
- CRP (Composition Reuse Principle): Favor composition over inheritance.
- CQS (Command Query Separation): Distinguish between actions that modify state and those that retrieve data.
- FF (Fail Fast): Throw exceptions as soon as possible.
- WORE (Write Once, Read Everywhere): Ensure your code is accessible and understandable across different contexts.
- HP (Hollywood Principle): Don't call us, we will call you.
Authored by Carlos Bastos Pérez-Cuadrado, a passionate programmer with a rich legacy in software development, Software Design Principles combines years of hands-on experience with clear, actionable insights. Carlos began his programming journey at 15, inspired by his father and grandfather, both seasoned programmers. This deep-rooted background equips him with a unique perspective on the practical application of design principles in real-world projects.
Table of Contents
- Dedication
- Introduction
- Motivation: the missing book
- How to read this book?
- DRY (Don’t Repeat Yourself)
- YAGNI (You Ain’t Gonna Need It)
- KISS (Keep It Simple, Stupid)
- POLA (Principle Of Least Astonishment)
- SRP (Single Responsibility Principle)
- OCP (Open/Close Principle)
- LSP (Liskov Substitution Principle)
- ISP (Interface Segregation Principle)
- DIP (Dependency Inversion Principle)
- SoC (Separation of Concerns)
- CoC (Convention over Configuration a.k.a Coding by Convention)
- EBTI (Explicit is Better Than Implicit)
- LoD (Law of Demeter a.k.a “Don’t talk with strangers”)
- HP (Hollywood Principle)
- CRP (Composite Reuse Principle)
- TDAP (Tell-Don’t-Ask Principle)
- WORE (Write Once Run Everywhere)
- IHP (Information Hiding Principle)
- CQS (Command Query Separation)
- DBC (Design by Contract)
- FF (Fail-Fast)
- Design Principles: Tools for quality with judicious application
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them