- 浏览: 600056 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1124什么是线程安全? ... -
java中的hashcode
2011-11-28 11:03 928Java中有两类集合(Collection),一类是List, ... -
插入排序算法
2011-11-15 16:35 1091插入排序 Insertion Sort ... -
任意10进制的数,然后打印其2进制形式的时候里面包含多少个1
2011-11-15 15:36 1210具体做法有两种: 方法一: public class A{ ... -
交换两个数不使用第三方变量
2011-11-15 14:04 1515题目很简单:------------------------- ... -
Java 冒泡排序
2011-11-15 11:05 1164冒泡的思想精髓就是数组中相临的两个数依次相比较,如果左边的数小 ... -
Java运行时异常与普通异常的区别
2011-11-09 11:22 1644Throwable是所有Java程序中错误处理的父类,有两种资 ... -
Servlet生命周期与工作原理
2011-11-09 09:13 1103Servlet生命周期分为三个阶段: 1,初始化阶段 ... -
java 单例模式的好处
2011-11-08 17:59 1372java 单例模式的好处 ... -
sleep和wait的区别
2011-11-14 16:45 11731、这两个方法来自不同的类分别是,sleep来自Thread类 ... -
String、StringBuffer与StringBuilder之间区别
2011-11-04 21:10 912最近学习到StringBuffer,心中有好些疑问,搜索了一些 ... -
HashMap和Hashtable的区别
2011-10-14 17:53 15121 HashMap不是线程安全的 ... -
遍历HashMap的两种方法及效率
2011-10-14 17:33 4986第一种: Map map = new HashMap(); I ... -
什么是@SuppressWarnings("unchecked")
2010-10-15 10:29 1424@SuppressWarnings 批注允许您 ... -
图片压缩程序实例
2010-08-05 10:08 1328项目中要使用到图片压缩程序,在网上找了一个稍加修改就可以使用了 ... -
java replaceall 用法
2010-06-10 17:09 2229public class TryDotRegEx { publ ... -
修改jar文件中的配置文件
2010-04-13 10:52 3387可以使用两种方法对jar文件进行修改: 1.使用winRAR ... -
重定向请求的两种方式
2009-12-31 14:20 14171.在程序中如何重定向请求呢? 答:重定向请求有两种方式:1 ... -
JVM工作原理
2009-11-30 15:49 11013Java虚拟机Java虚拟机(Ja ... -
java工程最后一个文件夹最后一个文件错误
2009-07-27 13:56 1224今天再次遇到java工程最后一个文件夹最后一个文件出错。 解 ...
相关推荐
Java工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这种模式使得系统在不指定...
java工厂模式试学教程(视频) java工厂模式试学教程(视频)
Java工厂模式是面向对象设计模式中的一个重要概念,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不直接实例化具体类,而是通过一个接口或者抽象类来间接创建。这种模式的核心在于将对象的创建过程...
Java 工厂模式 Java 工厂模式是一种创建型设计模式,旨在提供一种统一的接口来创建对象。该模式主要有三种形式:简单工厂模式、工厂方法模式和抽象工厂模式。这些模式从上到下逐步抽象,并且更具一般性。 一、引子...
Java工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这种模式的主要优点是隔离...
Java工厂模式是一种设计模式,主要用于解决对象创建的问题。在编程中,当系统无法预见需要创建哪种类型的实例,或者系统不应依赖于对象如何被创建、组合和表达的细节时,工厂模式是一个很好的选择。 简单工厂模式是...
"设计模式之java工厂模式"是关于如何优雅地创建对象的一种经典设计模式,它属于创建者模式类别。创建者模式主要关注对象的创建,而工厂模式则在其中扮演着重要角色,因为它提供了一种抽象的方式来创建对象,从而使...
在软件设计模式中,工厂模式是一种非常基础且实用的创建型模式。它的主要目的是提供一个创建对象的接口,隔离了具体类的实例化过程,使得客户端可以无须知道所创建的对象的具体类,只需要知道它是从某个特定的工厂来...
Java工厂模式是面向对象设计模式中的一个核心模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端需要创建一个对象时,它只需要指定所要创建的对象的类名,而无需知道具体的创建逻辑。这样,客户端与具体...
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
JAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.ppt
Java工厂模式是一种设计模式,它是创建型模式的一种,主要用于封装对象的创建过程,提供一个统一的接口,使得客户端代码在使用具体产品时无需关注产品是如何被创建的。工厂模式的核心思想在于“将对象的创建与使用...
Java工厂模式是一种常用的设计模式,它是创建型设计模式的一种,主要解决对象创建过程中复杂的实例化逻辑,使得代码更加模块化,降低了系统耦合性。在Java编程中,工厂模式经常被用于封装对象的创建过程,使得客户端...
Java工厂模式是面向对象设计模式中的一个基础模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个对象时,不会直接实例化对象,而是调用一个工厂类来创建。这种模式的核心在于封装了对象的...
Java工厂模式是一种设计模式,主要用于创建对象,通过提供一个过渡接口来隔离对象的创建过程,增强代码的灵活性。根据《Java与模式》的分类,工厂模式包括简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式...
JAVA工厂模式工厂方法模式.pdf
Java工厂模式是一种设计模式,它是创建型模式的一种,主要用于封装对象的创建过程,提供一个统一的接口,使得客户端代码在使用具体产品时无需关注产品是如何被创建的。工厂模式的核心思想是“隔离类的实例化过程”,...
本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...