Let there be no doubt that object-oriented design is fundamentally different than traditional structured design approaches: it requires a different way of thinking about decomposition, and it produces software architectures that are largely outside the realm of the structured design culture.
I have three main goals for this initial chapter:
To begin showing the reader why object thinking is different and important
To introduce arguments as to why object thinking is particularly valuable to developers hoping to master extreme programming or other agile approaches
To explain the emphasis on thinking instead of tools or technique; to explain the relevance and importance of history, philosophy, and metaphor—topics ...