1 The path to well-designed software
This chapter covers
- What is software design?
- What are the benefits of good software design?
- Analyze an application’s requirements to design the right application.
- Apply good design techniques to develop the application right.
Well-designed programs do what they’re supposed to do. They are more reliable, flexible, and maintainable. They are more easily tested and are often completed sooner than poorly designed programs. Well-designed programs are simply better in many ways.
To improve your software design skills, this book teaches principles and patterns that will enable you to develop well-designed sustainable applications. A sustainable application is one that will have a long life, and therefore we want it to be reliable, flexible, and maintainable. Top-tier design skills are highly sought after by employers in today’s competitive job market. Your career requires that you know and apply good software design techniques.
The book will elevate your software design skills by teaching object-oriented design principles and design patterns. Design principles help to improve the design of a few lines of code, a function, an entire class, or a set of classes that work together. Design patterns provide models to solve common software architecture problems. Design patterns are built upon design principles.