Software Design Principles
$19.00
Minimum price
$29.00
Suggested price

Software Design Principles

About the Book

Software Design Principles by Carlos Bastos Pérez-Cuadrado

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.
Why This Book?

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.

About the Author

Carlos Bastos Pérez-Cuadrado
Carlos Bastos Pérez-Cuadrado

I am a technology enthusiast and technical leader (currently working as Principal Engineer) with over 20 years of experience writing software and over 10 designing and implementing software architectures for leading companies with millions of users and high-traffic systems. I started programming at 15, continuing a family tradition established by my father and grandfather, who were also programmers.

My career has been dedicated to building high-performance engineering organizations, fostering a culture of technical excellence, continuous delivery of customer value, and people development. I strongly advocate for best practices like clean code, TDD, refactoring, design patterns, and agile methodologies like eXtreme Programming and Lean Development.

Outside of work, I am passionate about chess (although I also enjoyed playing basketball in the past), applying strategy and critical thinking both on the board and in the projects I tackle.

Learn more about me at www.cbastos.com

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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub