`
zhaojian0910
  • 浏览: 47536 次
社区版块
存档分类
最新评论

Java 工厂模式

阅读更多

Java工厂模式分为三种

1、简单工厂模式(又叫静态工厂模式)

代码:

package simplefactory;

public interface Person {
	public void say();
}

 

package simplefactory;

public class Chinese implements Person{

	public void say() {
		System.out.println("I am Chinese.");
	}

}

 

package simplefactory;

public class Japanese implements Person {

	public void say() {
		System.out.println("I am Japanese.");
	}

}

 

package simplefactory;

public class PersonCreator {
	public Person createPerson(String type) {
		if (type.equals("chn")) {
			return new Chinese();
		}
		if (type.equals("jpn")) {
			return new Japanese();
		}

		return null;
	}
}

 

package simplefactory;

public class Test {
	public static void main(String[] args) {
		PersonCreator pc = new PersonCreator();
		pc.createPerson("chn").say();
		pc.createPerson("jpn").say();
	}
}

 2、抽象工厂模式

代码:

package factorymethod
public abstract class AbstractFactory {
	public abstract Person create();
}

 

package factorymethod;

public class Chinese extends Person{

	public void say() {
		System.out.println("I am Chinese.");
	}

}

 

package factorymethod;

public class Japanese extends Person {

	public void say() {
		System.out.println("I am Japanese.");
	}

}

 

package factorymethod;

public interface AbstractFactory {
	public Person create();
}

 

package factorymethod;

public class ChineseFactory implements AbstractFactory {

	public Person create() {

		return new Chinese();
	}

}

 

package factorymethod;

public class JapaneseFactory implements AbstractFactory {

	public Person create() {

		return new Japanese();
	}

}

 

package factorymethod;

public class Test {
	public static void main(String[] args) {
		ChineseFactory cf = new ChineseFactory();
		cf.create().say();
		JapaneseFactory jf = new JapaneseFactory();
		jf.create().say();
	}
}

 3、抽象工厂模式

代码:

package abstractfactory;

public interface Person {
	public void say();
}

 

package abstractfactory;

public class Chinese implements Person{

	public void say() {
		System.out.println("I am Chinese.");
	}

}

 

package abstractfactory;

public class Japanese implements Person {

	public void say() {
		System.out.println("I am Japanese.");
	}

}

 

package abstractfactory;

public abstract class AbstractFactory {
	public abstract Chinese createChinese();
	public abstract Japanese createJapanese();
}

 

package abstractfactory;

public class DefaultFactory extends AbstractFactory{

	public Chinese createChinese() {
		return new Chinese();
	}

	public Japanese createJapanese() {
		return new Japanese();
	}

}

 

package abstractfactory;

public class Test {
	public static void main(String[] args) {
		AbstractFactory af = new DefaultFactory();
		af.createChinese().say();
		af.createJapanese().say();
	}
}

 

0
0
分享到:
评论
5 楼 windshome 2015-03-05  
那还相烦老兄随便帖一个工厂模式的例子,我来描述一下我的观点,呵呵。
4 楼 devilyard 2015-03-05  
windshome 写道
工厂模式早过时啦!不要再学习什么工厂模式了,呵呵!


能详述下么
3 楼 windshome 2015-03-05  
程序不需要工厂,工厂给程序员带来了歧义和费解。
2 楼 atgoingguoat 2015-03-05  
工厂模式早过时 ?

         程序其实百变不离其中
1 楼 windshome 2015-03-05  
工厂模式早过时啦!不要再学习什么工厂模式了,呵呵!

相关推荐

    Java工厂模式

    Java工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这种模式使得系统在不指定...

    java三种工厂模式文档+三个实例.rar

    Java工厂模式是面向对象设计模式中的一个重要概念,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不直接实例化具体类,而是通过一个接口或者抽象类来间接创建。这种模式的核心在于将对象的创建过程...

    java工厂模式试学教程(视频)

    java工厂模式试学教程(视频) java工厂模式试学教程(视频)

    设计模式之java工厂模式

    "设计模式之java工厂模式"是关于如何优雅地创建对象的一种经典设计模式,它属于创建者模式类别。创建者模式主要关注对象的创建,而工厂模式则在其中扮演着重要角色,因为它提供了一种抽象的方式来创建对象,从而使...

    Java 工厂设计模式例题

    例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式

    java工厂模式java工厂模式.doc

    Java 工厂模式 Java 工厂模式是一种创建型设计模式,旨在提供一种统一的接口来创建对象。该模式主要有三种形式:简单工厂模式、工厂方法模式和抽象工厂模式。这些模式从上到下逐步抽象,并且更具一般性。 一、引子...

    java 工厂模式代码

    在软件设计模式中,工厂模式是一种非常基础且实用的创建型模式。它的主要目的是提供一个创建对象的接口,隔离了具体类的实例化过程,使得客户端可以无须知道所创建的对象的具体类,只需要知道它是从某个特定的工厂来...

    java工厂模式2

    Java工厂模式是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这种模式的主要优点是隔离...

    java工厂模式例子描述

    Java工厂模式是一种设计模式,主要用于解决对象创建的问题。在编程中,当系统无法预见需要创建哪种类型的实例,或者系统不应依赖于对象如何被创建、组合和表达的细节时,工厂模式是一个很好的选择。 简单工厂模式是...

    java_gongchang.rar_JAVA 教程_java工厂模式

    Java工厂模式是面向对象设计模式中的一个核心模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端需要创建一个对象时,它只需要指定所要创建的对象的类名,而无需知道具体的创建逻辑。这样,客户端与具体...

    JAVA工厂模式.ppt

    JAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.pptJAVA工厂模式.ppt

    Java 工厂模式 抽象工厂 工厂方法模式

    本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...

    JAVA 设计模式 工厂模式 代理模式 迭代模式 责任链模式 源码

    以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...

    java工厂模式讲解

    Java工厂模式是一种常用的设计模式,它是创建型设计模式的一种,主要解决对象创建过程中复杂的实例化逻辑,使得代码更加模块化,降低了系统耦合性。在Java编程中,工厂模式经常被用于封装对象的创建过程,使得客户端...

    java工厂模式-简单工厂模式

    ### Java工厂模式—简单工厂模式 #### 一、引言 简单工厂模式并不是GoF设计模式之一,但它作为设计模式的基础,在实际项目中被广泛使用。简单工厂模式的主要目的是将对象的创建与对象的使用分离,使代码更加灵活,...

    JAVA工厂模式工厂方法模式.pdf

    JAVA工厂模式工厂方法模式.pdf

    java设计模式之工厂模式

    java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...

    三种工厂模式java实现

    下面我们将详细探讨这三种工厂模式在Java中的实现。 **1. 简单工厂模式** 简单工厂模式是最早期的工厂模式形式,它通过一个静态工厂方法来创建对象。在Java中,我们定义一个工厂类,包含一个静态方法,根据传入的...

    java工厂模式

    Java工厂模式是一种设计模式,它是创建型模式的一种,主要用于封装对象的创建过程,提供一个统一的接口,使得客户端代码在使用具体产品时无需关注产品是如何被创建的。工厂模式的核心思想在于“将对象的创建与使用...

    JAVA工厂模式

    **JAVA工厂模式** Java工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当我们创建对象时,...Java工厂模式是软件工程中常用的设计模式之一,对于理解和应用面向对象设计原则至关重要。

Global site tag (gtag.js) - Google Analytics