- 浏览: 592897 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (199)
- 纯java (22)
- 中间件 (1)
- java线程 (1)
- webwork (10)
- HTML/CSS (11)
- struts2 (10)
- mysql (14)
- Linux (8)
- 字符编码和转换 (1)
- WebService (1)
- web (21)
- javascript (33)
- ajax (5)
- 随便写写 (3)
- svn (0)
- eclipse使用技巧 (10)
- Ant (1)
- 互联网发展方向 (1)
- Jquery (12)
- 视频 (2)
- MD5 (1)
- 项目经验总结 (1)
- Oracle (2)
- Netbeans (1)
- Apache/Tomcat (4)
- springside (1)
- hibernate (6)
- SpringSecurity (0)
- java与文件 (1)
- CKEditor (4)
- JSON (3)
- 笔试题 (0)
- 应用部署 (1)
- 杂七杂八 (1)
- android (1)
- jQuery UI (1)
- XML相关技术 (1)
- HTML5 (1)
- CSS3 (0)
- 正则表达式 (1)
- http协议 (3)
- 算法 (5)
- 互联网知识 (1)
最新评论
-
hp321:
我现在遇到一个开发自定义按钮的问题,想请教下你:问题如下:举例 ...
Ckeditor 如何在源码模式下添加可以显现的按钮 -
make1828:
javascript跨域解决方案(一) -
huxianwen:
问题是, ckeditor编辑器在源码模式并不能插入任何代码呀 ...
Ckeditor 如何在源码模式下添加可以显现的按钮 -
nidonglin1986:
虽然解决了问题,但是原因说的不是很明白啊。中文跟HTML标志 ...
struts2的标签在JS中的使用 中文乱码 -
ldw1986hf123:
[*]
JVM工作原理
1. 简单工厂模式
publci class Sample{ .... } public class A extends Sample{ .... } public class B extends Sample{ ...... }
工厂类处于决定实例化那个产品类的中心位置
public class Factory{ //静态工厂方法,无必要再去实例化这个工厂类,增加没有必要的代码 public static Sample create(int which){ if(which==1) return new A(); if(which==2) return new B(); } }
使用简单工厂初始化一个类
Sample newSample=Factory.create(1);
2. 工厂方法模式
植物接口及两个实现类
public interface Plant{} public class PlantA implements Plant{ } public class PlantB implements Plant{ }
水果接口及两个实现类
public interface Fruit{} public class FruitA implements Fruit{ } public class FruitB implements Fruit{ }
抽象工厂
public interface AbstractFactory{ public Plant createPlant(); public Fruit creatFruit(); }
工厂类A
public Class FactoryA implements AbstractFactory{ public Plant createPlant(){ return new PlantA(); } public Fruit creatFruit(){ return new FruitA(); } }
工厂类B
public Class FactoryB implements AbstractFactory{ public Plant createPlant(){ return new PlantB(); } public Fruit creatFruit(){ return new FruitB(); } }
工厂方法模式与简单工厂模式再结构上的不同不是很明显。工厂方法类的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。
工厂方法模式之所以有一个别名叫多态性工厂模式是因为具体工厂类都有共同的接口,或者有共同的抽象父类。
当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好的符合了"开放-封闭"原则。而简单工厂模式在添加新产品对象后不得不修改工厂方法,扩展性不好。
工厂方法模式退化后可以演变成简单工厂模式。
新增加一个类PlantC 和 FruitC
public class PlantC implements Plant{ } public class FruitC implements Fruit{ }
这时只需要增加一个工厂类C
public Class FactoryC implements AbstractFactory{ public Plant createPlant(){ return new PlantC(); } public Fruit creatFruit(){ return new FruitC(); } }
发表评论
-
什么是线程安全
2011-11-28 17:57 1085什么是线程安全? ... -
java中的hashcode
2011-11-28 11:03 894Java中有两类集合(Collection),一类是List, ... -
插入排序算法
2011-11-15 16:35 1052插入排序 Insertion Sort ... -
任意10进制的数,然后打印其2进制形式的时候里面包含多少个1
2011-11-15 15:36 1158具体做法有两种: 方法一: public class A{ ... -
交换两个数不使用第三方变量
2011-11-15 14:04 1469题目很简单:------------------------- ... -
Java 冒泡排序
2011-11-15 11:05 1114冒泡的思想精髓就是数组中相临的两个数依次相比较,如果左边的数小 ... -
Java运行时异常与普通异常的区别
2011-11-09 11:22 1613Throwable是所有Java程序中错误处理的父类,有两种资 ... -
Servlet生命周期与工作原理
2011-11-09 09:13 1078Servlet生命周期分为三个阶段: 1,初始化阶段 ... -
java 单例模式的好处
2011-11-08 17:59 1329java 单例模式的好处 ... -
sleep和wait的区别
2011-11-14 16:45 11221、这两个方法来自不同的类分别是,sleep来自Thread类 ... -
String、StringBuffer与StringBuilder之间区别
2011-11-04 21:10 885最近学习到StringBuffer,心中有好些疑问,搜索了一些 ... -
HashMap和Hashtable的区别
2011-10-14 17:53 14721 HashMap不是线程安全的 ... -
遍历HashMap的两种方法及效率
2011-10-14 17:33 4941第一种: Map map = new HashMap(); I ... -
什么是@SuppressWarnings("unchecked")
2010-10-15 10:29 1391@SuppressWarnings 批注允许您 ... -
图片压缩程序实例
2010-08-05 10:08 1296项目中要使用到图片压缩程序,在网上找了一个稍加修改就可以使用了 ... -
java replaceall 用法
2010-06-10 17:09 2189public class TryDotRegEx { publ ... -
修改jar文件中的配置文件
2010-04-13 10:52 3354可以使用两种方法对jar文件进行修改: 1.使用winRAR ... -
重定向请求的两种方式
2009-12-31 14:20 13611.在程序中如何重定向请求呢? 答:重定向请求有两种方式:1 ... -
JVM工作原理
2009-11-30 15:49 10975Java虚拟机Java虚拟机(Ja ... -
java工程最后一个文件夹最后一个文件错误
2009-07-27 13:56 1194今天再次遇到java工程最后一个文件夹最后一个文件出错。 解 ...
相关推荐
java工厂模式试学教程(视频) java工厂模式试学教程(视频)
Java工厂模式的一个例子,使用配置文件来决定具体生成的实例,拓展性强
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
java工厂模式java工厂模式
JAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.ppt
个人写的java工厂模式例子描述,很不错的,给大家共香
JAVA工厂模式工厂方法模式.pdf
java工厂模式详细讲解: 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。
Java实现的工厂模式,抽象工厂,工厂方法模式
java工厂模式-简单工厂模式:入门级工厂模式使用介绍,附案例说明
java工厂模式的教程 教你怎么用工厂模式开发java程序
JAVA工厂模式详细讲解
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
java工厂模式,是学习java模式很好的一个教科书
Java工厂模式.pdf
JAVA工厂模式工厂方法模式[整理].pdf