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.

1.1 What is software design?

1.2 What you will learn from this book

1.3 The benefits of good software design

1.4 A few design examples

1.4.1 Leaking changes

1.4.2 Code that’s too complex

1.4.3 Inflexible code

1.4.4 Surprise!

1.4.5 Common architecture problems

1.5 Make sure we’re going to build the right application, then build it right

1.6 Good design doesn’t come easily

1.7 Change and complexity are the enemies of good design

1.8 Design with object-oriented programming concepts

1.9 Summary

sitemap