
Java 设计模式
linsea
这个作者很懒,什么都没留下…
展开
-
单件模式
[code="java"]public class Singleton { private static Singleton UniqueInstance; private Singleton(){} public static Singleton getInstance(){ if(UniqueInstance == null) UniqueInstanc...2008-10-11 16:17:15 · 86 阅读 · 0 评论 -
组合模式
[size=large]组合模式(Composite pattern)定义:允许你将对象组合成树形结构来表现"整体/部分"层次结构.组合能让客户以一致的方式处理个别对象以及对象组合.使用组合结构,我们能把相同的操作应用在组合和个别对象上.换句话说,在大多数情况下,我们可以忽略对象组合和个别对象之间的差别.[/size]...原创 2008-10-18 15:57:30 · 79 阅读 · 0 评论 -
迭代器模式
[size=large][color=red]迭代器模式定义:提供一种顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示.迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露其内部的表示.把游走的任务放在迭代器上,而不是聚合上.这样简化了聚合的接口和实现,也让责任各得其所.OO原则:一个类应该只有一个引起变化的原因.此原则告诉我们,尽量让每个类保持单一责任....原创 2008-10-13 21:30:12 · 78 阅读 · 0 评论 -
适配器模式
[code="java"]package desginpattern.adapter.ducks;/* * 适配器模式定义: * 将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. * * NOTES: * 适配器有两种:对象适配器和类适配器,分别使用组合和继承两种方式实现, * 类适配器须同时继承被适配者(adaptee)和目标类(t...原创 2008-10-13 16:37:22 · 102 阅读 · 0 评论 -
外观模式
[size=large][color=red] * 外观模式定义: * 它提供一个统一的接口,用来访问子系统中的一群接口. * 外观定义了一个高层接口,让子系统更容易使用. * * OO原则:"最少知识(Least Knowledge)"原则 * 即我们要减少对象之间的交互,只留下几个"密友". * 只和你的密友谈话. * * 如何不要赢得太多的朋友和影响太多的对象...原创 2008-10-13 16:21:09 · 99 阅读 · 0 评论 -
命令模式
[size=large][color=red]命令模式:将"请求"封闭成对象,以便使用不同的请求,队列或者日志来参数化其他对象. 命令模式也支持可撤销的损伤. 1.命令模式将发出请求的对象和执行请求的对象解耦. 2.在被解耦的两者之间是通过命令对象进行沟通的.命令对象封装了接收者和一个或一组动作. 3.调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用....原创 2008-10-12 21:03:10 · 87 阅读 · 0 评论 -
策略模式
strategy pattern[size=medium][color=darkred][b]原则:针对接口编程,而非实现编程!!![/b][/color][/size][code="java"]public abstract class Duck { FlyBehavior flyBehavior; QuackBehavior quackBehavior; public...原创 2008-10-12 11:24:46 · 97 阅读 · 0 评论 -
观察者模式
[code="java"]public interface Subject { public void registerObserver(Observer o); public void removeObserver(Observer o); public void notifyObservers();}[/code][code="java"]public inte...原创 2008-10-12 10:41:24 · 99 阅读 · 0 评论 -
模板方法模式
Template Method模板方法定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现.它是一个骨架,在框架的设计中多用此设计模式.对模板方法进行挂钩:钩子是一种被声明在抽象类中的方法,但只有空的或者默认的实现.钩子的存在,可以让子灰有能力对算法的不同点进行挂钩.要不要挂钩,由子类自行决定.好莱坞原则:高层组件对低层组件的方式是"别调用我们,我们会调...原创 2008-10-12 10:11:13 · 88 阅读 · 0 评论 -
java内置观察者模式学习小实例
package desginpattern.obverser;/* Demonstrate the Observable class and theObserver interface.NOTES: 被观察者的设计: 1.扩展Observable类. 2.如果它已经改变,必须调用setChanged()方法. 3.当它准备通知观察者时,必须调用notifyObserver(O...2008-10-29 16:00:24 · 124 阅读 · 0 评论