java设计模式一窥1
Design Patterns in Java
-----------------------------------------
Steven John Metsker
William C.Wake
-----------------------------------------
龚波等译
--------一、二章读书记录------
模式是集体智慧的结晶。它给出了相关行业中经验丰富的从业者所应用的所有的概念和方法。
本书并不是四人帮的著作,虽然在书名和内容上有大量的相似之处。
--------------
意图 设计模式
接口型模式 Adapter(适配器),Facade(外观),Composite(组合),Bridge(桥接)
责任型模式 Singleton(单例),Observer(观察者),Mediator(中介者),Proxy(代理),Chain of Responsibility(责任链),Flyweight(享元)
构造型模式 Builder(生成器),Factory Method(工厂方法),Abstract Factory(抽象工厂),Prototype(原型),Memento(备忘录)
操作型模式 Template Method(模板方法),State(状态),Strategy(策略),Command(命令),Interpreter(解释器)
扩展模式 Decorator(装饰器),Iterator(迭代器),Visitor(访问者)
--------------
接口型模式:
1.如果我们创建了一个指定各种通知方法集合的接口,那么我们就应该考虑提供一个存根(stub)——存根就是用空方法体实现中所有方法的类。开发者可以通过继承该存根创建一个实现该接口的类,这样一来,该类只需要重写重要的几个方法就可以了。
2.超越普通接口
如果你期望 可应用模式
将类的外部接口适配客户期望的接口  
相关文档:
先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
private Object data; //元素本身
private NodeBean next; //下一个节点
&n ......
以前一篇的DLL为例阐述Java如何调用动态库
目前存在一个VC编译的非MFC动态库DLL(具体如何生成非MFC动态库DLL见前一篇文章),名称为mydll.dll,其中有导出函数myadd:形如:int myadd(int,int),现java应用程序需要调用该动态库的myadd函数。具体实现步骤如下:
1、编写调用mydll.dll的java程序
(1)程序testMyDll .ja ......
最近由于要画活动图,所以需要画带有箭头的线段,于是结合有关资料,写出了这个方法。
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class test//读者可以更改类test的名字,以适合自己定义的.java文件,因为它只是用来测试的。
{
public static void main (String args[]){
&nb ......
我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点
public
class
InitialOrderTest {
//&nb ......
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、Open ......