基本信息
- 原书名:Design Patterns: Elements of Reusable Object-Oriented Software
- 原出版社: Addison-Wesley Professional
- 作者: (美)Erich Gamma Richard Helm Ralph Johnson John Vlissides
- 译者: 李英军 马晓星 蔡敏 刘建中
- 丛书名: 设计模式开山之作.经典图书双语重读
- 出版社:机械工业出版社
- ISBN:9787111211266
- 上架时间:2007-4-28
- 出版日期:2007 年3月
- 开本:16开
- 页码:641
- 版次:1-1
- 所属分类:计算机 > 软件工程及软件方法学 > 设计模式
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 软件工程
编辑推荐
·设计模式开山之作
·广大技术人员的圣经和经典
·Amazon和各大书店销售榜前列
·十年来不断重印,销售逾七万册
作者Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides四人由于首次在本书中提出面向对象的23种模式而知名,被广大开发者昵称为GoF(Gang of Four),本书也因此而被称为GoF Book。
内容简介
作译者
目录
Foreword
Guide to Readers
1 Introduction
1.1 What Is a Design Pattern?
1.2 Design Patterns in Smalltalk MVC
1.3 Describing Design Patterns
1.4 The Catalog of Design Patterns
1.5 Organizing the Catalog
1.6 How Design Patterns Solve Design Problems
1.7 How to Select a Design Pattern
1.8 How to Use a Design Pattern
2 A Case Study: Designing a Document Editor
2.1 Design Problems
2.2 Document Structure
2.3 Formatting
2.4 Embellishing the User Interface
2.5 Supporting Multiple Look-and-Feel Standards
2.6 Supporting Multiple Window Systems
2.7 User Operations
前言
The importance of patterns in crafting complex systems has been long recognized in other disciplines. In particular, Christopher Alexander and his colleagues were perhaps the first to propose the idea of using a pattern language to architect buildings and cities. His ideas and the contributions of others have now taken root in the object-oriented software community. In short, the concept of the design pattern in software provides a key to helping developers leverage the expertise of other skilled architects. ..
In this book, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides introduce the principles of design patterns and then offer a catalog of such patterns. Thus, this book makes two important contributions. First, it shows the role that patterns can play in architecting complex systems. Second, it provides a very pragmatic reference to a set of well-engineered patterns that the practicing developer can apply to crafting his or her own specific applications.
I'm honored to have had the opportunity to work directly with some of the authors of this book in architectural design efforts. I have learned much from them, and I suspect that in reading this book, you will also. ...
Grady Booch
Chief Scientist, Rational Software Corporation
序言
On the other hand, this isn't an advanced technical treatise either. It's a book of design patterns that describes simple and elegant solutions to specific problems in objectoriented software design. Design patterns capture solutions that have developed and evolved over time. Hence they aren't the designs people tend to generate initially. They reflect untold redesign and recoding as developers have struggled for greater reuse and flexibility in their software. Design patterns capture these solutions in a succinct and easily applied form.
The design patterns require neither unusual language features nor amazing programming tricks with which to astound your friends and managers. All can be implemented in standard object-oriented languages, though they might take a little more work than ad hoc solutions. But the extra effort invariably pays dividends in increased flexibility and reusability.
Once you understand the design patterns and have had an "Aha!" (and not just a "Huh?") experience with them, you won't ever think about object-oriented design in the same way. You'll have insights that can make your own designs more flexible, modular, reusable, and understandable--which is why you're interested in objectoriented technology in the first place, right?
A word of warning and encouragement: Don't worry if you don't understand this book completely on the first reading. We didn't understand it all on the first writing! Remember that this isn't a book to read once and put on a shelf. We hope you'll find yourself referring to it again and again for design insights and for inspiration. ..
This book has had a long gestation. It has seen four countries, three of its authors' marriages, and the birth of two (unrelated) offspring. Many people have had a part in its development. Special thanks are due Bruce Anderson, Kent Beck, and Andre Weinand for their inspiration and advice. We also thank those who reviewed drafts of the manuscript: Roger Bielefeld, Grady Booch, Tom Cargill, Marshall Cline, Ralph Hyre, Brian Kernighan, Thomas Laliberty, Mark Lorenz, Arthur Riel, Doug Schmidt, Clovis Tondo, Steve Vinoski, and Rebecca Wirfs-Brock. We are also grateful to the team at Addison-Wesley for their help and patience: Kate Habib, Tiffany Moore, Lisa Raffaele, Pradeepa Siva, and John Wait. Special thanks to Carl Kessler, Danny Sabbah, and Mark Wegman at IBM Research for their unflagging support of this work.
Last but certainly not least, we thank everyone on the Intemet and points beyond who commented on versions of the patterns, offered encouraging words, and told us that what we were doing was worthwhile. These people include but are not limited to Jon Avotins, Steve Berczuk, Julian Berdych, Matthias Bohlen, John Brant, Allan Clarke, Paul Chisholm, Jens Coldewey, Dave Collins, Jim Coplien, Don Dwiggins, Gabriele Elia, Doug Felt, Brian Foote, Denis Fortin, Ward Harold, Hermann Hueni, Nayeem Islam, Bikramjit Kalra, Paul Keefer, Thomas Kofler, Doug Lea, Dan LaLiberte, James Long, Ann Louise Luu, Pundi Madhavan, Brian Marick, Robert Martin, Dave McComb, Carl McConnell, Christine Mingins, Hanspeter M6ssenb6ck, Eric Newton, Marianne Ozkan, Roxsan Payette, Larry Podmolik, George Radin, Sita Ramakrishnan, Russ Ramirez, Alexander Ran, Dirk Riehle, Bryan Rosenburg, Aamod Sane, Duri Schmidt, Robert Seidl, Xin Shu, and Bill Walker.
We don't consider this collection of design patterns complete and static; it's more a recording of our current thoughts on design. We welcome comments on it, whether criticisms of our examples, references and known uses we've missed, or design patterns we should have included. You can write us care of Addison-Wesley, or send electronic mail to design-patterns@cs. uiuc. edu. You can also obtain softcopy for the code in the Sample Code sections by sending the message "send design pattern source" to design-patterns-source@cs, uiuc. edu. And now there's a Web page at http: // st-www, cs. uiuc. edu/users/patterns/DPBook/DPBook, html for late-breaking information and updates. ...
Mountain View, California E.G.
Montreal, Quebec R.H.
Urbana, Illinois R.J.
Hawthorne, New York J.V.
August 1994