Chapter 2. Goals
In this chapter we'll review some of the themes of this book, examining the values and goals we should keep in mind as we design an application. Architecture and implementation should always be undertaken with clear goals in mind.
In Chapter 1, we identified the following central themes:
Simplicity
Productivity
The importance of object orientation
The primacy of business requirements
The importance of empirical process
The importance of testability
We'll talk about the many benefits of simplicity in Chapter 4. We'll mention testability throughout the book and discuss it in detail in Chapter 14.
Let's discuss the remaining themes in turn. These themes are interrelated, so most can't be discussed in isolation.
We'll focus most heavily on productivity, as it brings up many architectural and other issues, and is often neglected.
Productivity
Productivity should be a central concern in application development. It's only one part of a picture that must include code maintainability, reliability, performance, and scalability, but it's a very important part. Productive teams are cost-effective teams, producing maximum value for their stake-holders.
Many J2EE developers equate calls for enhanced productivity with laziness. This is perhaps partly a manifestation of the "complexity industry" we'll discuss in Chapter 4, and partly the result of instinctive faith in the adage of "no pain, no gain." In reality, it is not lazy to want to be able to do things quickly and easily, especially if ...
Get Expert One-on-One™ J2EE™ Development without EJB™ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.