设计模式Java手册(影印版)

设计模式Java手册(影印版)
作 者: Steven John Metsker
出版社: 中国电力出版社
丛编项: 原版风暴系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Java
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  StevenJohnMetsker是一位学者,也是撰写面向对象技术方面书籍的作者。他已经出版的著作主要涉及对象模型中的关系完整性、Java逻辑难题的解决,以及“对象”概念在Plato和OO语言方面有什么不同。Steve还是《BuildingParserswithJava》一书的作者,这本介绍了如何简单而快捷地构建一个新的小型计算机语言。

内容简介

Java程序员现在有了可以发挥设计模式法力的终极武器这部杰出的著作所精选的示例、练习以及应用设计模式时面临的挑战,将帮助你把设计模式理论变为现实SteveMetsker“寓教于实践”的方式既可增强你的实践技能,也可奠定你在关键的开发任务中运用设计模式的信心。本书阐释了经典著作《DesignPatterns》(Addison-Wesley,1995)中介绍的23种基本设计模式在这部全新的技术手册中,将这些设计模式划分成五个主要类别:接口类模式、责任类模式、构造类模式、操作类模式和扩展类模式对每个类别描述的第一章,是帮助你复习和测试你在Java中运用设计模式的能力接着,后面的章节将详细解释某个特定的模式,并通过UML图和Java代码进行演示,然后向你提出编程方面的命题,让你自己体验通过本书,你将会学到下面这些专业技能:●使域数据适合Swing组件——Adapter模式●为Swing创建外观——Facade模式●处理组合递归的,情形——Composite模式●理解在Java数据库连接中桥的作用——Bridge模式●在Model/View/Controller和观察者之间建立联系——Observer模式●通过中介维护关系的完整性——Mediator模式●在计算机之间使用代理进行通信——Proxy模式●让服务提供商决定哪个类将被实例化●支持Memento的undo操作——Memento模式●通过克隆进行原型化——Prototype模式●使用命令提供服务——Command模式●开发线程安全的迭代器——Iterator模式●通过Decorator和Visitor扩展类——Decorator模式和Visitor模式设计模式难题的解决方案在书的背面,因此你可以将自己的做法与专家的方法进行对照,书中简单介绍了UML,解释了UML的建模表示法,同时本书所有的示例代码均可以在网站上找到。通过本书的指导和训练,你将完全理解设计模式在Java应用开发中所扮演的角色,增强在实际工作中应用设计模式的能力。StevenJohnMetsker是一位学者,也是撰写面向对象技术方面书籍的作者,他已经出版的著作主要涉及对象模型中的关系完整性、Java逻辑难题的解决,以及“对象”概念在Plato和OO语言方面有什么不同,Steve还是《BuildingParserwithJava》(Addison-Wesley,2001)一书的作者,这本书介绍了如...

图书目录

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 INTRODUCING INTERFACES

Ordinary Interfaces

Interfaces and Obligations

Placing Constants in Interfaces

Summary

Beyond Ordinary Interfaces

3 ADAPTER 21

Adapting in the Presence of Foresight

Class and Object Adapters

Unforeseen Adaptation

Recognizing ADAPTER

Summary

4 FACADE 37

Refactoring to FACADE

Facades, Utilities, and Demos

Summary

5 COMPOSITE 51

An Ordinary Composite

Recursive Behavior in Composites

Trees in Graph Theory

Composites with Cycles

Consequences of Cycles

Summary

6 BRIDGE 65

A Classic Example of BRIDGE: Drivers

Refactoring to BRIDGE

A Bridge Using the List Interface

Summary

PART II RESPONSIBILITY PATTERNS

7 INTRODUCING RESPONSIBILITY

Ordinary Responsibility

Controlling Responsibility with Visibility

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 103

A Classic Example: GUI Mediators

Relational Integrity Mediators

Summary

11 PROXY 115

A Classic Example: Image Proxies

Image Proxies Reconsidered

Remote Proxies

Summary

12 CHAIN OF RESPONSIBILITY 131

Varieties of Lookup

Refactoring to CHAIN OF RESPONSIBILITY

Anchoring a Chain

CHAIN OF RESPONSIBILITY without COMPOSITE

Summary

13 FLYWEIGHT 139

Recognizing FLYWEIGHT

Immutability

Extracting the Immutable Part of a Flyweight

Sharing Flyweights

Summary

PART III CONSTRUCTION PATTERNS

14 INTRODUCING CONSTRUCTION 151

Ordinary Construction

Superclass Collaboration

Collaboration within a Class

Summary

Beyond Ordinary Construction

15 BUILDER 157

Building from a Parser

Building under Constraints

Building a Counteroffer

Summary

16 FACTORY METHOD 165

Recognizing FACTORY METHOD

A Classic Example of FACTORY METHOD: Iterators

Taking Control of Which Class to Instantiate

FACTORY METHOD in Parallel Hierarchies

Summary

17 ABSTRACT FACTORY 175

Abstract Factories for Families of Objects

Packages and Abstract Factories

Abstract Factories for Look-and-Feel

Summary

18 PROTOTYPE 183

Prototypes as Factories

Prototyping with Clones

Using Object. clone()

Summary

19 MEMENTO 193

Memento Durability

Applying Memento

Persisting Mementos across Sessions

Using Strings as Mementos

Summary

PART IV OPERATION PATTERNS

20 INTRODUCING OPERATIONS 205

Operations, Methods, and Algorithms

The Mechanics of Methods

Exceptions in Methods

Summary

Beyond Ordinary Operators

21 TEMPLATE METHOD 215

A Classic Example of TEMPLATE METHOD: Sorting

Completing an Algorithm

TEMPLATE METHOD Hooks

Refactoring to TEMPLATE METHOD

Summary

22 STATE 225

Modeling States

Refactoring to STATE

Making States Constant

Summary

23 STRATEGY 237

Modeling Strategies

Refactoring to STRATEGY

Comparing STRATEGY and STATE

Comparing STRATEGY and TEMPLATE METHOD

Summary

24 COMMAND 249

A Classic Example: Menu Commands

Using COMMAND tO Supply a Service

COMMAND in Relation to Other Patterns

Summary

25 INTERPRETER 259

An INTERPRETER Example

Interpreters, Languages, and Parsers

Summary

PART V EXTENSION PATTERNS

26 INTRODUCING EXTENSIONS 273

Reuse as an Alternative to Extension

Extending by Subclassing

The Liskov Substitution Principle

Extending by Delegating

Summary

Beyond Ordinary Extension

27 DECORATOR 289

A Classic Example of DECORATOR: Streams

Function Decorators

Decorating without DECORATOR

Summary

28 ITERATOR 313

Type-Safe Collections

Iterating Over a Composite

Thread-Safe Iterators

Summary

29 VISITOR 337

Supporting VISITOR

Extending with VISITOR

VISITOR Cycles

VISITOR Controversy

Summary

PART VI APPENDIXES

A APPENDIX A: DIRECTIONS 355

B APPENDIX B: SOLUTIONS 359

C APPENDIX C: UML AT A GLANCE 441

Glossary 449

Bibliography 459