- 浏览: 67944 次
- 性别:
- 来自: 上海
最新评论
-
java苹果+番茄:
已经修改,感谢大家提的意见;有一年多没进来了,很惭愧;以后一定 ...
java设计模式笔记链接地址汇总 -
youthon:
命令(Command)模式【行为模式第九篇】的链接应为http ...
java设计模式笔记链接地址汇总 -
youthon:
你给的链接只有你自己才能打开,你改改吧
java设计模式笔记链接地址汇总 -
shaozhi_jinni:
[b][/b][i][/i][u][/u]引用引用
[img ...
模板方法(Template Method)模式【行为模式第十篇】 -
Tank03:
慢慢的走~
android开发学习中(已经学会了几个小玩意),兴趣大增
文章列表
亨元(Flyweight Pattern)模式
1、亨元模式的用意
亨元模式是对象的结构模式。亨元模式以共享的方式高效地支持大量的细粒度对象。
亨元模式能做到共享的关键是区分内蕴状态和外蕴状态
一个内蕴状态是存储在亨元对象 ...
合成(Composite)模型模式:
属于对象的结构模式,有时又叫做部分-整体(Part-Whole)模式。
合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。
1、模式涉及到的三个角色
1)抽象构件(Component)角色:这是一个抽象角色,它给参加组合的对象规定一个接口。这个角色给出共有的接口机器默认行为。
2)树叶构件(Leaf)角色:代表参加组合的树叶对象。一个树叶没有下级的子对象。定义出参加组合的原始对象的行为。
3)树枝构件(Composite)角色:代表参加组合的有子对象的对象,并给出树枝构件对象的 ...
代理(Proxy)模式
是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
一、代理的种类:
如果按照使用目的来划分,代理有以下几种:
1、远程(Remote)代理:为一个位于不 ...
预定式存储:
为了保证在任何情况下键值都不会出现重复,应当使用预定式键值存储办法。在请求一个键值时,首先将数据库中的键值更新为下一个可用值,
然后将旧值提供给客户端。这样万一出现运行中断的话,最多就是这个键值被浪费掉。
记录式存储:
键值首先被返还给客户端,然后记录到数据库中。这样做的缺点是,一旦系统中断,就有可能出现客户端已经使用了一个键值,而这个键值却
没有来得及存储到数据库中的情况。在系统重启后,系统还会从这个已经被使用过的键值开始,从而导致错误。
单例模式应用:序列键管理器
方案一:没有数据库的情况
//序列键生成器(单例类)
public class KeyGe ...
原始模型(Prototype):
属于对象的创建模式。通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。
java.lang.Object.clone()方法,所有javaBean都必须实现Cloneable接口,才具有clone功能;
Java语言提供的Cloneable接口只起一个作用,就是在运行时期通知java虚拟机可以安全地在这个类上使用clone()方法。通过调用
这个clone()方法可以得到一个对象的复制。由于Object类本身并实现Cloneable接口,因此如果所考虑的类没有实现Cloneable接
口时,调用 ...
建造(Builder)模式
建造模式是对象的创建模式。
产品的内部表象:一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象它们通常叫做产品的内部表象
角色:
1、抽象建造者角色:给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,有多少个零件就有多少个建造方法
2、具体建造者角色:担任这个角色的是与应用程序紧密相关的一些类,它们在应用程序的调用下创建产品的实例。
这个角色完成的人物包括:
1)实现抽象建造者Builder所声明的接口,给出一步一步地完成创建产品实例的操作。
2)在建造过程完成后,提供产品的实例
...
多例模式(Multiton Pattern)
1、多例模式特点:
1) 多例类可有多个实例
2) 多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。
//多例类(骰子)
import java.util.Random;
import java.util.Date;
public class Die{
private static Die die1 = new Die();
private static Die die2 = new Die();
private Die(){
}
//工厂 ...
单例(Singleton)模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类
1、单例模式的要点:
1) 某个类只能有一个实例
2) 它必须自行创建这个实例
3) 它必须自行向整个系统提供这个实例
2、单例模式的例子:
1) 打印机
2) 传真机使用的传真卡,只应该由一个软件管理
3) Windows回收站
3、单例模式有以下特点:
1) 单例类只能有一个实例
2) 单例类必须自己创建自己的唯一的实例
3) 单例类必须给所有其他对象提供这一实例
*饿汉式单例类:
public class E ...
工厂方法(Factory Method)模式
1、工厂方法模式是类的创建模式,又叫做虚拟构造子模式或者多态性工厂模式
工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
一般而言工厂方法模式的系统设计到以下几种角色:
1) 抽象工厂(Creator)角色:担任这个角色的是工厂方法模式的核心,它是与应用程序无关的,
任何在模式之中个窗对象的工厂类必须实现这个接口,在实际系统中,这个角色也使用抽象类实现
2) 具体工厂(Concrete Creator)角色:担任这个角色的是实现了抽象工厂接口的具体java类。
...
工厂模式的几种形态:
1、简单工厂模式,又叫做静态工厂方法(Static Factory Method)模式。
2、工厂方法模式,又称为多态性工厂(Polymorphic Factory)模式
3、抽象工厂模式,又称工具(Kit或ToolKit)模式
简单工厂模式(Simple Factory)
1、模式:
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。
它是由一个工厂对象决定创建出哪一种产品类的实例。
2、举例:
//水果接口
public interface Fruit{
void grow(); ...
前序:现在开始将自己整理的一些java设计模式的笔记与大家共享,希望大家不吝指正,谢谢。
声明:虽然这些都是出自《java设计与模式》一书中,但是是本人的学习心得笔记,请尊重本人劳动,谢谢
抽象工厂(Abstract Factory) ...
最近一直忙于做项目,但又想在博客上写点什么,所以就整理了几道典型的问题,充实下博客
第一,谈谈final, finally, finalize的区别。
答案:final:修饰符(关键字),如果一个类被声明为final,它就不能够再派生出子类,因此一个类不能既被abstract修饰又被final修饰,
把变量或方法声明成final表示,被final修饰的变量必须在声明时给定初值,以后不能改变,只能读取,方法不能被重写;
finally:在异常处理时提供fianlly块来执行一些必须执行的代码块,像流的关闭等,。如果抛出一个异常,那么相匹配的 catch 子 ...
- 2009-10-22 22:46
- 浏览 1532
- 评论(0)
/*全选、取消全选*/
function checkedAll(allCheckboxName, checkboxName) {
o = document.getElementsByName(allCheckboxName);
if (o[0].checked == true) {
selAllCheckbox(checkboxName);
} else {
unselAllCheckbox(checkboxName);
}
}
/*全选*/
function selAllCheckbox(checkboxName) {
o = document.getElementsByNa ...
以前一直没找到extjs2.2的全包,这次在添加Myeclipse的插件时,我找了好久才找到。现在分享下,以免兄弟姐妹们到处去找:
- 2009-09-27 17:44
- 浏览 2147
- 评论(4)
以前一直没找到extjs2.2的全包,这次在添加Myeclipse的插件时,我找了好久才找到。现在分享下,以免兄弟姐妹们到处去找:
- 2009-09-27 17:42
- 浏览 1382
- 评论(0)