Part 1. Introduction

 

A well-designed sustainable application should be the goal of every software development project. Passionate programmers want to use their object-oriented skills and apply good software design principles and industry-proven design patterns to build applications that are flexible, reliable, and maintainable. Well-designed software can be developed faster and pass their tests sooner. Let’s escape from the run-and-done mentality! We all want to be proud of the applications we’ve built.

The development journey to a well-designed application is rarely straightforward. A proven way to achieve success is with a journey of design–code–test iterations. Along the way, we may have to backtrack due to erroneous design decision and redo some iterations. The journey becomes easier as we gain experience by encountering coding situations that good design principles can improve and recognizing software architecture problems that design patterns can solve.