[转]Java设计模式学习心得

http://tech.it168.com/focus/200902/java-design/index.html

http://tech.it168.com/j/2007-05-17/200705170858843.shtml

http://tech.it168.com/j/e/2007-05-20/200705201337218.shtml

http://tech.it168.com/a2009/0221/266/000000266214.shtml

【IT168技术文档】整个设计模式贯穿一个原理:面对介面编程,而不是面对实现,(面向物件编程应该改爲面向介面编程)。目标原则是:降低耦合,增强灵活性。

一、创建模式

1.设计模式之Factory(工厂方法和抽象工厂)

使用工厂模式就象使用new一样频繁.

2.设计模式之Prototype(原型)

用原型实例指定创建物件的种类,並且通过拷贝这些原型创建新的物件。

3.设计模式之Builder

汽车由车轮方向盘发动机很多部件组成,同时,将这些部件组装成汽车也是一件複杂的工作,Builder模式就是将这两种情况分开进行。

4.设计模式之Singleton(单态)

保證一个类只有一个实例,並提供一个访问它的全局访问点

二、结构模式

1.设计模式之Facade

可扩展的使用JDBC针对不同的资料库编程,Facade提供了一种灵活的实现。 

2.设计模式之Proxy

以Jive爲例,剖析代理模式在用户级别授权机制上的应用

3.设计模式之Adapter

使用类再生的两个方式:组合(new)和继承(extends),这个已经在"thinkinginjava"中提到过。

4.设计模式之Composite

就是将类用树形结构组合成一个单位。你向别人介绍你是某单位,你是单位元元中的一个元素,别人和你做买卖,相当於和单位做买卖。文章中还对Jive再进行了剖析。

5.设计模式之Decorator

Decorator是个油漆工,给你的东东的外表刷上美丽的顔色。

6.设计模式之Bridge

将"牛郎织女"分开(本应在一起,分开他们,形成两个介面),在他们之间搭建一个桥(动态的结合)

7.设计模式之Flyweight

提供Java运行性能,降低小而大量重复的类的开销。

三、行爲模式

1.设计模式之Template

实际上向你介绍了爲什麽要使用Java抽象类,该模式原理简单,使用很普遍。

2.设计模式之Memento

很简单一个模式,就是在记忆体中保留原来资料的拷贝。

3.设计模式之Observer

介绍如何使用JavaAPI提供的现成Observer

4.设计模式之ChainofResponsibility

各司其职的类串成一串,好象击鼓传花,当然如果自己能完成,就不要推委给下一个。

5.设计模式之Command

什麽是将行爲封装,Command是最好的说明。

6.设计模式之State

状态是编程中经常碰到的实例,将状态物件化,设立状态变换器,便可在状态中轻鬆切换。

7.设计模式之Strategy

不同演算法各自封装,用户端可随意挑选需要的演算法。

8.设计模式之Mediator

Mediator很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以。

9.设计模式之Interpreter

主要用来对语言的分析,应用机会不多。

10.设计模式之Visitor

访问者在进行访问时,完成一系列实质性操作,而且还可以扩展。

11.设计模式之Iterator

这个模式已经被用来遍曆Collection中物件。使用频率很高。在Java中无需专门阐述,在大多数场合也无需自己制造一个Iterator,只要将物件装入Collection中,我们就直接可以使用Iterator模式。

相关推荐