1 The path to well-designed software

 

This chapter covers

  • The basics of software design
  • The benefits of good software design
  • How to analyze an application’s requirements to design the right application
  • How to 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. Furthermore, 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 will teach you the principles and patterns that will enable you to develop well-designed sustainable applications. A sustainable application is an application that has 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.

This book will improve 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 for solving common software architecture problems. These are built on 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

Summary

sitemap