logo资料库

Object Design: Roles, Responsibilities, and Collaborations.pdf

第1页 / 共556页
第2页 / 共556页
第3页 / 共556页
第4页 / 共556页
第5页 / 共556页
第6页 / 共556页
第7页 / 共556页
第8页 / 共556页
资料共556页,剩余部分请下载后查看
Main Page
Table of content
Copyright
Foreword by Ivar Jacobson
Foreword by John Vlissides
Preface
How To Read This Book
Acknowledgments
Chapter 1. Design Concepts
Object Machinery
Roles
Object Role Stereotypes
Roles, Responsibilities, and Collaborations
Object Contracts
Domain Objects
Application-Specific Objects
Interfaces
Classes
Composition
Inheritance
Object Organizations
Components
Patterns
Frameworks, Inc.
Architecture
Architectural Styles
Design Description
Summary
Further Reading
Chapter 2. Responsibility-Driven Design
A Process for Seeing, Describing, and Designing
Writing the Script: Analysis Descriptions
Casting the Characters: Exploratory Design
Tuning the Production: Design Refinement
Summary
Further Reading
Chapter 3. Finding Objects
A Discovery Strategy
Looking for Objects and Roles, and Then Classes
Why Tell a Design Story?
Search Strategies
What's in a Name?
Describing Candidates
Characterizing Candidates
Connecting Candidates
Looking for Common Ground
Defend Candidates and Look for Others
SUMMARY
FURTHER READING
Chapter 4. Responsibilities
What Are Responsibilities?
Where Do Responsibilities Come From?
Strategies for Assigning Responsibilities
Implementing Objects and Responsibilities
Testing Your Candidates' Quality
Summary
Further Reading
Chapter 5. Collaborations
What Is Object Collaboration?
The Design Story for the Speak for Me Software
Collaboration Options
Strategies for Identifying Collaborations
Simulating Collaborations
Designing Good Collaborations
Making Collaborations Possible
When Are We Finished?
Summary
Further Reading
Chapter 6. Control Style
What Is Control Style?
COntrol Style Options
Making Trade-Offs
Developing Control Centers
A Case Study: Control Style for External User Events
Summary
Chapter 7. Describing Collaborations
Telling Collaboration Stories
A Strategy for Developing a Collaboration Story
Establishing Scope, Depth, and Tone
Listing What You Will Cover
Deciding on the Level of Detail
Choosing the Appropriate Form
Tell It, Draw It, Describe It: Guidelines
Organizing Your Work
Preserving Stories
Summary
Further Reading
Chapter 8. Reliable Collaborations
Understanding the Consequences of Failure
Increasing Your System's Reliability
Determining Where Collaborations Can Be Trusted
Identifying Collaborations To Be Made Reliable
Designing A Solution
Documenting Your Exception-Handling Designs
Reviewing Your Design
Summary
Further Reading
Chapter 9. Flexibility
What Does It Mean to Be Flexible?
Degrees of Flexibility
The Consequences of a Flexible Solution
Nailing Down Flexibility Requirements
Recording Variations
Variations and Realizations
The Role of Patterns in Flexible Designs
How to Document a Flexible Design
Changing a Working System's Design
Summary
Further Reading
Chapter 10. On Design
The Nature of Software Design
Tackling Core Design Problems
Frame the Problem
Dealing with Revealing Design Problems
Strategies for Solving Revealing Problems
Working on the Rest
Designing Responsibly
Further Reading
Bibliography
• Table of Contents Object Design: Roles, Responsibilities, and Collaborations By Rebecca Wirfs-Brock, Alan McKean Publisher Pub Date ISBN Pages : Addison Wesley : November 08, 2002 : 0-201-37943-0 : 416 Noted object technologists Rebecca Wirfs-Brock and Alan McKean present a modern, thoughtful treatment on the design of object software. Introduces Responsibility-Driven Design, the expert authors' proven method to building better software. Practical strategies for increasing software's reliability and flexibility. Helps reader discriminate important design choices from mundane
ones, and to acquire a fundamental set of techniques that can be intelligently practiced After more than ten years, object technology pioneer Rebecca Wirfs- Brock teams with expert Alan McKean to present a thoroughly updated, modern, and proven method for the design of software. The book is packed with practical design techniques that enable the practitioner to get the job done. Like many human endeavors, design is part art, part engineering, part guesswork, and part experimentation. Discipline, hard work, inspiration, and sound technique all play their part as well. For any given problem, there are many reasonable, but only a few very good solutions. The authors' goal is to help readers learn to make those very good design decisions on their own. The book explores challenges that software developers will face as they build their design, and shows how design patterns can be used to solve design problems. Long awaited and eagerly anticipated, this book represents the first great software design book of the century. A FUTURE CLASSIC! Rebecca Wirfs-Brock is the founder of Wirfs-Brock Associates where she consults with clients on development practices and methods. Formerly, she was Chief Methodologist and Director of the Object Development Center of Excellence at Parc-Place Digitalk. She was the lead author of Designing Object-Oreinted Software, Prentice-Hall, 1990. Alan McKean is the co-founder of Wirfs-Brock Associates. He was formerly Object Methodologist at Parc-Place Digitalk. An experienced speaker and software developer, he has developed socre curricula in object-oriented design, programming, and distributed object systems.
• Table of Contents Object Design: Roles, Responsibilities, and Collaborations By Rebecca Wirfs-Brock, Alan McKean Publisher Pub Date ISBN Pages : Addison Wesley : November 08, 2002 : 0-201-37943-0 : 416 Copyright Foreword Foreword Preface How To Read This Book Acknowledgments Chapter 1. Design Concepts Object Machinery Roles Object Role Stereotypes Roles, Responsibilities, and Collaborations
Object Contracts Domain Objects Application-Specific Objects Interfaces Classes Composition Inheritance Object Organizations Components Patterns Frameworks, Inc. Architecture Architectural Styles Design Description Summary Further Reading Chapter 2. Responsibility-Driven Design A Process for Seeing, Describing, and Designing Writing the Script: Analysis Descriptions Casting the Characters: Exploratory Design Tuning the Production: Design Refinement Summary Further Reading Chapter 3. Finding Objects A Discovery Strategy Looking for Objects and Roles, and Then Classes Why Tell a Design Story? Search Strategies What's in a Name? Describing Candidates Characterizing Candidates Connecting Candidates Looking for Common Ground Defend Candidates and Look for Others SUMMARY FURTHER READING Chapter 4. Responsibilities What Are Responsibilities? Where Do Responsibilities Come From?
Strategies for Assigning Responsibilities Implementing Objects and Responsibilities Testing Your Candidates' Quality Summary Further Reading Chapter 5. Collaborations What Is Object Collaboration? The Design Story for the Speak for Me Software Collaboration Options Strategies for Identifying Collaborations Simulating Collaborations Designing Good Collaborations Making Collaborations Possible When Are We Finished? Summary Further Reading Chapter 6. Control Style What Is Control Style? COntrol Style Options Making Trade-Offs Developing Control Centers A Case Study: Control Style for External User Events Summary Chapter 7. Describing Collaborations Telling Collaboration Stories A Strategy for Developing a Collaboration Story Establishing Scope, Depth, and Tone Listing What You Will Cover Deciding on the Level of Detail Choosing the Appropriate Form Tell It, Draw It, Describe It: Guidelines Organizing Your Work Preserving Stories Summary Further Reading Chapter 8. Reliable Collaborations Understanding the Consequences of Failure Increasing Your System's Reliability
Determining Where Collaborations Can Be Trusted Identifying Collaborations To Be Made Reliable Designing A Solution Documenting Your Exception-Handling Designs Reviewing Your Design Summary Further Reading Chapter 9. Flexibility What Does It Mean to Be Flexible? Degrees of Flexibility The Consequences of a Flexible Solution Nailing Down Flexibility Requirements Recording Variations Variations and Realizations The Role of Patterns in Flexible Designs How to Document a Flexible Design Changing a Working System's Design Summary Further Reading Chapter 10. On Design The Nature of Software Design Tackling Core Design Problems Frame the Problem Dealing with Revealing Design Problems Strategies for Solving Revealing Problems Working on the Rest Designing Responsibly Further Reading Bibliography
Copyright Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers discounts on this book when ordered in quantity for bulk purchases and special sales. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 corpsales@pearsontechgroup.com For sales outside of the U.S., please contact: International Sales (317) 581-3793 international@pearsontechgroup.com Visit Addison-Wesley on the Web: www.awprofessional.com Library of Congress Control Number: 2002112293 Copyright © 2003 by Pearson Education, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. Published simultaneously in Canada.
For information on obtaining permission for use of material from this work, please submit a written request to: Pearson Education, Inc. Rights and Contracts Department 75 Arlington Street, Suite 300 Boston, MA 02116 Fax: (617) 848-7047 Text printed on recycled paper 12345678910—CRW—0605040302 First printing, November 2002
分享到:
收藏