Skip to content
DevPedia

Design principles

Principles and heuristics for designing software that is simpler, more maintainable, and easier to adapt.

4 guides

  1. What are software design principles?

    How to use principles like KISS, DRY, and SOLID to make design decisions, understanding what problems they address and when to apply them.

  2. General design principles

    Six principles for handling complexity, duplication, and dependencies. What each one gives you, and when applying it can make the design worse.

  3. SOLID

    Each principle is there to keep a small change from demanding a lot of work. Applying them to the letter can add more complexity than it resolves.

  4. How to review a software design

    Practical questions for spotting unnecessary complexity, unclear responsibilities, and dependencies that make change harder.

Search by concept, pattern or practice.