Conclusion
Software Design Methodologies, Principles, and Patterns are each a different set of concepts and practices that software engineers can use to help them write better code. They each seek to solve a different problem. Methodologies are procedures for how to craft software and its overall design. Principles are best-practice guidelines for writing clean, efficient code. Patterns are a veritable tool chest of templates to specific common problems in code.
Software engineers should be careful how they use these philosophies, and make sure to thoroughly understand them before adopting them. Misusing them can result in huge architectural problems that can be difficult to diagnose and harder to fix without completely rewriting the software. All Senior-level and above software engineers should know the differences, and how and when to apply these concepts.
In future blog posts, I’ll dive deeper into specific topics related to software design.