
| 本书阐释了经典著作《Design Patterns》(Addison-Westey,1995)中介绍的23种基本设计模式。在这部全新的技术手册中,将这些高度模式划分成五个主要类别:接口类模式、责任类模式、构造类模式、操作类模式和扩展类模式。对每个类别描述的第一章,是帮助你复习和测试你在Java中运用设计模式的能力。接着,后面的章节将详细解释某个特定的模式,并通过UML图和Java代码进行演示,然后向你提出编程方面的例题,让你自己体验。
|
| Steven John Metsker是一位学者,也是撰写面向对象技术方面书籍的作者。他已经出版的著作主要涉及对象模型中的关系完整性、Java逻辑难题的解决,以及“对象”概念在Plato和OO语言方面有什么不同。Steve还是《Building Parsers with Java》一书的作者,这本介绍了如何简单而快捷地构建一个新的小型计算机语言。 |
| Foreword Preface 1 INTRODUCTION TO PATTERNS Why Patterns? Why Design Patterns? Why Java? Why UML? Why a Workbook? The Organization of This Book Welcome to Oozinoz! Source Code Disclaimer Summary PART I INTERFACE PATTERNS 2 INTRODUCTING INTERFACES Ordinary Iterfaces Interfaces and Obligations Placing Constants in Interfaces Summary Beyond Ordinary Interfaces 3 ADAPTER Adapting in the Presence of Foresight Class and Object Adapters Unforeseen Adaptation Recognizing ADAPTER Summary 4 FACADE Refactoring to FACADE Facades,Utilities,and Demos Summary 5 COMPOSITE An Ordinary Composite Recursive Behavior in Composites Trees in Graph Theory Composites with Cycles Consequences of Cycles Summary 6 BRIDGE A Classic Example of BRIDGE:Drivers Refactoring to BRIDGE A Bridge Using the List Interface Summary PART II RESPONSIBILKITY PATTERNS 7 INTRODUCING RESPONSIBILITY Ordinary Responsibility Controlling Responsibility with Visiblity Summary Beyond Ordinary Responsibility 8 SINGLETON SINGLETON Mechanics Singletons and Threads Recognizing SINGLETON Summary 9 OBSERVER A Classic Example:OBSERVER in Swing Model/View/Controller Maintaining an Observable Object Summary 10 MEDIATOR A Classic Example:GUI Mediators Relational Integrity Mediators Summary 11 PROXY A Classic Example:Image Proxiers Image Proxies Peconsidered Remote Proxies Summary 12 CHAIN OF RESPONSIBILITY Varieties of Lookup Refactoring to CHAIN OF RESPONSIBILITY Anchoring a Chain CHAIN OF RESPONSIBILITY without COMPOSITE Summary 13 FLYWEIGHT Recognizing FLYWEIGHT Immutability Extracting the Immutable Part of a Flywight Sharing Flyweights Summary PART III CONSTRUCTION PATTERNS 14 INRODUCING CONSTRUCTION Ordinary Construction Supercalss Collaboration Collaboration within a Class Summary Beyond Ordinary Construction 15 BUILDER Building from a Parser Building under Constraints Building a Counteroffer Summary 16 FACTORY METHOD Recognizing FACTORY METHOD A Classic Exapmle of FACTORY METHOD:Iterators Taking Control of Which Class to Instantiate FACTORY METHOD in Parallel Hierarchies Summary 17 ABSTRACT FACTORY Abstract Factories for Families of Objects Packages and Adstract Factories Abstract Factories for Look-and-Feel Summary 18 PROTOTYPE Prototypes as Factories Prototyping with Clones Using Object.clone() Summary 19 MEMENTO Memento Durability Applying Memento Persisting Mementos across Sessions Using Strings as Mementos Summary PART IV OPERATION PATTERNS 20 INTRODUCING OPERATIONS Operations,Methods,and Algorithms The Mechanics of Methods Exceptions in Methods Summary Beyond Ordinary Operators 21 TEMPLATE METHOD A Classic Example of TEMPLATE METHOD:Sorting Completing an Algorithm TEMPLATE METHOD Hooks Refactoring to TEMPLATE METHOD Summry 22 STATE Modeling States Refactoring to STATE Making States Constant Summary 23 STRATEGY Modeling Strategies Refactoring to STRATEGY Comparing STRATEGY and STATE Comparing STRATEGY and TEMPLATE METHOD Summary 24 COMMAND A Classic Example:Menu Commands Using COMMAND to Supply a Service COMMAND in Relation to Other Patterns Summary 25 INTERPRETER An INTERPRETER Example Interpreters,Languages,and Parsers Summary PART V EXTENSION PATTERNS 26 INTRODUCING EXTENSION Reuse as an Alternative to Extension Extending by Subclassing The Liskov Substitution Principle Extending by Delegating Summary Beyond Ordinary Extension 27 DECORATOR A Classic Example of DECORATOR:Streams Function Decorators Decorating without DECORATOR Summary 28 ITERATOR Type-Safe Collections Iterating Over a Composite Thread-Safe Iterators Summary 29 VISITOR Supporting VISITOR Extending with VISITOR VISITOR Cycles VISITOR Controversy Summary PART VI APPENDIXES A APPENDIX A:DIRECTIONS B APPENDIX B:SOLUTIONS C APPENDIX C:UML AT A GLANCE Glossary Bibliography |
商品评论(0条)