Email the Author

You can use this page to email Moises Gamio about Software Design Principles.

Please include an email address so the author can respond to your query

This message will be sent to Moises Gamio

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

Software design principles are guidelines that help developers to make an object-oriented system design resilient to future changes.

Our original design degrades whenever we introduce new change requirements, and this degradation is because of different factors, for example:

• Poor understanding of object-oriented concepts,

• Mismanagement with the introduction of new dependencies,

• High dependency on volatile documents like SRS - Software Requirements Specification - instead of good comments in the code.

Software design principles provide guidelines to handle the complexity of the design process and prepare our code when changes arise and minimize the impact of introducing bugs.

Following these guidelines make our code more readable and easier to maintain.

  • This book aims to make you a better software designer within the object-oriented paradigm.

Connect with Me:

codersite


About the Author

Moises Gamio’s avatar Moises Gamio

@MoisesGamio

Moises Gamio has been working for 20 years as a Software Engineer for several companies from different economic sectors such as Government, Financial, Industrial, Educative, Consulting, Retail, and Research. He has been using several technological tools such as Java, C, Cobol, C#, Visual Basic, PHP, and JScript, in operating systems such as Windows, Linux, Unix, and RISC 6000, in databases such as SQL Server, Oracle, MySQL, DB2, and Lotus Notes. His tasks are related to Software Development, Stages of Analysis, Design, Testing, and Deployment.

For eight years, he worked as a System Analyst for the Bank Sector. Since 2015 he is working as a Software Engineer in a B2B company in Berlin, Germany.

At the moment, he is passionate about the following things:

  • Clean Code
  • Automated testing
  • Software Design
  • Software Architecture
  • Data Structure and Algorithms
  • Web Services
  • Spring Framework
  • Distributed Systems
  • Learning new technologies

Connect with Me:

codersite

medium

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Softwaredesign › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss