首页(162) xml(5) spring(1) 生活(8) java(70) 代码(10) 英语(4) 数据库(7) c#(14) 成长(10) 软件工程(27)  写新日志
 
 

玻璃杯中的花生壳

  真爱的事业和真正的爱情一生只有一次,都值得我们温柔地相待,因为那种感觉是永远都无法复制的, 这世界真正属于你的东西其实并不多,你不好好珍惜,它便会离你而去,包括机遇,包括爱情,包括生命。
   不要找任何理由,  当幸福在你身边的时候就抓住它,你就一定会很幸福! 
   

时 间 记 忆
«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031

最 新 评 论
回复:xml的Jdom解析过程详解
回复:突然想到的几句话!
 Boyle came out of n
回复:xml的Jdom解析过程详解
回复:配置Spring数据源
回复:使用SAX解析XML
回复:java中写文件操作时FileOu
回复:关联和依赖关系的区分
回复:HttpSessionListen
回复:Spring AOP四种创建通知(

最 新 日 志
Java开发者的十大戒律
配置Spring数据源
java多线程设计模式
java中switch的使用
性格,编码,测试
突然想到的几句话!
理解Spring AOP中的关键概念
Spring AOP四种创建通知(拦截器
xml的四种解析方法 比较 sax,do
xml的Jdom解析过程详解

最 新 留 言
签写新留言

我渴望知识
很好的东东
帖子不错,道声谢
想拜师学艺
我的呼喊

搜 索


用 户 登 录
用户名称:
登陆密码:
密码保存:

友 情 连 接

模板设计:部落窝模板世界

blog名称:玻璃杯中的花生壳
日志总数:162
评论数量:249
留言数量:1
访问次数:829789
建立时间:2004年11月4日
 
 
 
[软件工程]JAVA的设计模式的简单介绍
[ 2006/8/5 12:22:49 | By: 玻璃杯中的花生壳 ]
 
JAVA的设计模式经前人总结可以分为23种,希望在学习完毕后能对自己的工作有所帮助。 设计模式根据使用类型可以分为三种: 1、 创建模式:工厂模式、单子模式、建造者模式、原型模式、工厂方法模式。 2、 结构模式:外观模式、代理模式、适配器模式、组合模式、装饰模式、桥模式、 共享模式。 3、 行为模式:模板模式、纪念品模式、观察者模式、责任链模式、命令模式、声明模式、 策略模式、中介模式、解释器模式、访问模式。 注:以上翻译不准确,还是以英文为准。 一、 创建模式: 1、 工厂模式(Factory),工厂方法模式(略): 工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 工厂模式有好多种其中最常用的是简单的工厂模式,例如下 public class Factory{    public static windows creator(int which){    //getClass 产生Sample 一般可使用动态类装载装入类。    if (which==1)      return new windows1 ();    else if (which==2)      return new windows2();    } Public static void main(String []args){ Windows = Factory.creator(1); Windows.fun(); } } Public Interface windows{ Public abstract void fun(); } Public class windows1 implements windows{ Public void fun(){ System.out.println(“hello am 1”); } } Public class windows2 implements windows(){ Public void fun(){ System.out.println(“hello am 2”); } } 步骤: 1、 建立两个子类的公共接口方法。 2、 两个子类实现接口的方法。 3、 建立公共工厂类提供公共方法返回接口类型,参数是区别两个子类的依据。 4、 调用接口提供的公共方法,系统自动调用子类的方法。 2、 单子模式(Singleton): Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 例子一: import java.util.*; class Singleton{ private static Singleton instance; private Vector v; private boolean inUse; private Singleton(){ v = new Vector(); v.addElement(new Object()); inUse = true; } public static Singleton getInstance(){ if (instance == null) //1 instance = new Singleton(); //2 return instance; //3 } } 例子二: public class SingletonSmple { private static SingletonSmple singleton = null; static { singleton = new SingletonSmple(); } public static synchronized SingletonSmple getInstence() throws SingletonException { if(singleton == null){ singleton = new SingletonSmple(); } return singleton ; } } class hello{ public static void main(String[]args){ for(int i =0 ; i< 2 ; i++){ try { System.out.println(SingletonSmple.getInstence()); } catch (Exception ex) { } } } }
 

阅读全文(4788) | 回复(0) | 编辑 | 精华
 

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
 
部落窝Blog模板世界部落窝Blog模板世界
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144799366 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号