Book description
In OBJECT THINKING, esteemed object technologist David West contends that the mindset makes the programmer—not the tools and techniques. Delving into the history, philosophy, and even politics of object-oriented programming, West reveals how the best programmers rely on analysis and conceptualization—on thinking—rather than formal process and methods. Both provocative and pragmatic, this book gives form to what’s primarily been an oral tradition among the field’s revolutionary thinkers—and it illustrates specific object-behavior practices that you can adopt for true object design and superior results.
Gain an in-depth understanding of:
Prerequisites and principles of object thinking.
Object knowledge implicit in eXtreme Programming (XP) and Agile software development.
Object conceptualization and modeling.
Metaphors, vocabulary, and design for object development.
Learn viable techniques for:
Decomposing complex domains in terms of objects.
Identifying object relationships, interactions, and constraints.
Relating object behavior to internal structure and implementation design.
Incorporating object thinking into XP and Agile practice.
Table of contents
- Table of Contents
- Acknowledgments
- Preface
- Introduction
- 1. Object Thinking
- 2. Philosophical Context
- 3. From Philosophy to Culture
- 4. Metaphor: Bridge to the Unfamiliar
- 5. Vocabulary: Words to Think With
- 6. Method, Process, and Models
-
7. Discovery
- Domain Understanding
-
Object Definition
-
Heuristics
- Heuristic: Let objects assume responsibility for tasks that are wholly or completely delegated to other objects in cases in which the responsibility reflects natural communication patterns in the domain.
- Heuristic: Delegate responsibilities to get a better distribution and increase reusability.
- Heuristic: Use anthropomorphization and foreshadowing to determine whether an object should assume a given responsibility.
- Heuristic: Responsibilities should be distributed among the community of objects in a balanced manner.
- Heuristic: Always state responsibilities in an active voice describing a service to be performed.
- Heuristic: Avoid responsibilities that are characteristic specific, that focus on providing a potential user with the value of a single characteristic of the object.
- Heuristic: Create proxies for objects outside your domain that are sources of information required by objects within your domain.
- Heuristic: Look for components.
-
Heuristics
- 8. Thinking Toward Design
- 9. All the World’s a Stage
- 10. Wrapping Up
- Bibliography
- About the Author
- Index
- Copyright
Product information
- Title: Object Thinking
- Author(s):
- Release date: February 2004
- Publisher(s): Microsoft Press
- ISBN: 0735619654
You might also like
audiobook
The Design of Everyday Things
First, businesses discovered quality as a key competitive edge; next came science. Now, Donald A. Norman, …
book
Design It!
Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is …
audiobook
Fall in Love with the Problem, Not the Solution
Unicorns-companies that reach a valuation of more than $1 billion-are rare. Uri Levine has built two. …
book
User Story Mapping
User story mapping is a valuable tool for software development, once you understand why and how …