Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Patterns in Java (in English)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Patterns in Java

This article is contributed by Wang HaiLong.

Preface

The Java class library heavily employs Design Patterns. This article discusses such scenarios.

Iterator

Collection/Iterator in Java 2 is Iterator Pattern.

Decorator and Bridge

Let's see some Java code about filter stream.

Reading Socket

ServerSocket s = new ServerSocket(8189);

Socket incoming = s.accept();

BufferedReader in = new BufferedReader(new InputStreamReader(incoming.getInputStream()));

 

Reading data from file by buffering mode

FileInputStream fin = new FileInputStream("employee.dat");

BufferedInputStream bin = new BufferedInputStream(fin);

DataInputStream din = new DataInputStream(bin);

 

Reading data in advance and by buffering mode

PushbackInputStream pbin = new PushbackInputStream(new BufferedInputStream(new FileInputStream("employee.dat")));

 

Reading data from zipped file

ZipInputStream zin = new ZipInputStream(new FileInputStream("employee.zip"));

DataInputStream din = new DataInputStream(zin);

 

From different points of view, we can say that the above code uses either Decorator Pattern or Bridge Pattern.

From the Decorator view, filter stream is Decorator, the parameter passed to its constructor is Component (Decorator and Component are participants in Decorator Pattern).

From the Bridge view, filter stream is Abstraction, the parameter passed to its constructor is Implementor (Abstraction and Implementor are participants in Bridge Pattern).

Adapter

There are Classes named "Adapter" such as WindowAdapter, ComponentAdapter and so on. But the aim of these Adapters is to implement default actions for listeners.

Observer

The Event mechanics in Java can be described as Observer Pattern. Listeners are Observers, and Event.getSource() return the Observable. One Observer can observe more than one Observable; one Observable can be observed by more than one Observer, which is called "Multicast".

Appendix

Some great books about Design Patterns:

<<Design Patterns>> by Zurich, Sydney, Urbana, Hawthorne;

<<Thinking in C++>> and <<Thinking in Java >> by Bruce Eckel;

<<The Design Patterns Java Companion>> by James W. Cooper.

 

 

 




相关文章

相关软件