Design principles
Principles and heuristics for designing software that is simpler, more maintainable, and easier to adapt.
4 guides
- 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.
- 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.
- 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.
- How to review a software design
Practical questions for spotting unnecessary complexity, unclear responsibilities, and dependencies that make change harder.