`
gengu
  • 浏览: 86790 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java 简单工厂模式

阅读更多

简单工厂模式也是一个应用很广泛的模式,但是可扩展性没有工厂方法模式高。

 

简单工厂模式设计到工厂角色,抽象产品角色以及具体产品角色等

 

工厂类:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑,工厂类在客户端的直接调用下创建产品对象,他往往由一个具体java类实现。

 

抽象产品:担任这个角色的类是由工厂方法模式所创建的对象的父类,或他们共同拥有的接口。通常由一个接口或抽象类实现。

 

具体产品:简单工厂模式所创建的任何对象都是这个角色的实例,通常是一个java类。

 

工厂类

package com.gengu.简单工厂;

public class Factory {
	/**
	 * 静态工厂方法
	 * */
	public static Car createcar(String carname){
		Car car = null;
		if(carname.equalsIgnoreCase("BWM")){
			car = new BWM();
		}else if(carname.equalsIgnoreCase("BENZ")){
			car = new BENZ();
		}
		return car;
	}
}

 抽象产品

package com.gengu.简单工厂;

/**
 * 汽车接口
 * */
public interface Car {

	public void run();
	
	public void stop();
	
}

 具体产品

package com.gengu.简单工厂;

/**
 * 奔驰车
 * */
public class BENZ implements Car{

	@Override
	public void run() {
		System.out.println("BWM is running");
	}

	@Override
	public void stop() {
		System.out.println("BENZ was stoped");
	}

}

package com.gengu.简单工厂;

/**
 * 宝马车
 * */
public class BWM implements Car{

	@Override
	public void run() {
		System.out.println("BWM is running");
		
	}

	@Override
	public void stop() {
		System.out.println("BWM was stoped");
	}

}

 测试类

package com.gengu.简单工厂;
/**
 * 测试类
 * */
public class Client {
	public static void main(String[] args) {
		Car car = Factory.createcar("bwm");
		car.run();
	}
}

 从上面的代码可以看出,简单工厂没有工厂方法模式的扩展性高,因为如果我现在增加一个比亚迪车,我的工厂方法也需要相应的增加一个判断条件,这样实际上就不符合开闭原则,对扩展开放,对改变关闭。

 

 

 

 

分享到:
评论

相关推荐

    Java简单工厂模式和传统模式实现对比

    Java简单工厂模式是一种设计模式,它是创建型模式的一种,用于将对象的创建过程封装到一个独立的工厂类中,使得客户端代码无需关心具体的对象创建细节,只需要知道如何调用工厂方法即可得到所需的对象。这种模式在...

    Java 简单工厂模式例子

    **Java 简单工厂模式详解** ...通过上述分析,我们可以理解Java简单工厂模式的基本概念,以及如何在实际项目中应用这一模式。在给定的压缩包文件中,我们可以深入研究源代码,进一步掌握其实现细节。

    java简单工厂模式文档简单汇总

    【Java 简单工厂模式】简单工厂模式是一种创建型设计模式,它的主要思想是提供一个工厂类,根据传入的参数动态地返回一个产品对象。这种模式将对象的创建与对象的使用分离,使得代码更加简洁且易于维护。 在Java中...

    JAVA简单工厂模式四则运算计算器

    在这个“JAVA简单工厂模式四则运算计算器”中,我们将探讨如何使用Java实现一个基于简单工厂模式的计算器,它能够处理加法、减法、乘法和除法四种基本运算。 首先,我们需要定义一个接口,例如命名为`Calculator`,...

    java 简单工厂模式 源代码

    从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    JAVA简单工厂创立性模式介绍

    简单工厂模式是一种最为基础的创建型模式,它提供一个静态方法来创建对象,这个静态方法根据传入的参数来决定创建哪个类的实例。简单工厂模式的主要优点在于客户端无需知道具体产品的类名,只需要知道产品的类型即可...

    java简单工厂模式源码实例

    简单工厂模式是设计模式中的创建型模式之一,它在Java编程中被广泛使用,尤其适合于对象的创建过程相对固定,且系统不需频繁添加新类的情况。此模式通过一个公共的工厂类来创建对象,避免了客户端代码直接new对象,...

    工厂模式(简单工厂,普通工厂,抽象工厂)代码java

    工厂模式分为三种主要类型:简单工厂模式、普通工厂模式(也称为工厂方法模式)和抽象工厂模式。 1. **简单工厂模式**: - 简单工厂模式中,有一个中心工厂类,它负责根据输入条件(通常是一个参数)来创建具体的...

    一个简单的工厂模式(java)

    在这个"一个简单的工厂模式(java)"示例中,我们将深入探讨如何在Java中实现这个模式。 首先,我们来看`HumanFactory.java`,这是工厂模式的核心,它定义了产品(在这个例子中是人)的创建逻辑。工厂类通常包含一个...

    Java简单工厂模式定义与用法实例分析

    Java简单工厂模式定义与用法实例分析 Java简单工厂模式是Java设计模式中的一种,属于创建型模式。该模式提供了一种简单的方式来创建对象,免去了直接使用new关键字来创建对象的麻烦。 简单工厂模式定义 简单工厂...

    Java简单工厂创立性模式介绍

    总的来说,Java简单工厂模式是软件设计中常用的创建型模式,尤其适用于对象创建逻辑相对简单且不会频繁变动的场景。了解并合理运用这种模式,可以提高代码的可读性、可维护性和扩展性。在实际开发中,可以根据项目...

    JAVA简单工厂模式(从现实生活角度理解代码原理)

    JAVA简单工厂模式(从现实生活角度理解代码原理) JAVA简单工厂模式是一种静态工厂设计模式,它提供了一个简单的解决方案来实例化对象。这种模式通过一个工厂类来实例化不同的对象,根据传入的参数来确定实例化哪种...

    java简单工厂创立性模式介绍

    Java简单工厂模式是一种常见的创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式使代码能够绕过复杂的实例化逻辑,将对象的创建过程封装起来,使得客户端代码无需知道具体创建的...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    在Java中,简单工厂模式、工厂方法模式和抽象工厂模式是三种常见的实现方式。简单工厂模式虽然简单易懂,但扩展性较差,因为它将所有产品类型硬编码在工厂类中。工厂方法模式通过定义创建对象的接口,让子类决定实例...

    XML解析器-简单工厂模式.doc

    《XML解析器与简单工厂模式》 XML(eXtensible Markup Language)是一种标记语言,广泛用于数据交换、配置文件存储等场景。在Java中,处理XML文档时,我们通常会使用解析器,其中SAX(Simple API for XML)解析器是...

    JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    **简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...

Global site tag (gtag.js) - Google Analytics