`
wbj0110
  • 浏览: 1610777 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

静态工厂(简单工厂)模式

阅读更多

静态工厂,是一个工厂类,并且改类没有实现一个工厂接口或者抽象类。

中间采用了反射机制。

如下代码,是一个简单的静态工厂模式:


public class TestFactory {

 public static void main(String[] args) {
  //根据传入的参数来得道一个对象
  Car c = CarFactory.getCarInstance("Benz");
  if(c != null) {
   c.run();
   c.stop();
  }
  c = CarFactory.getCarInstance("Toyota");
  if(c != null) {
   c.run();
   c.stop();
  }
 }
}

/*
 * 工厂类,用户穿件不同的实现了Car借口的对象实例
 */
class CarFactory{
 
 //把构造函数设为了private,不让产生静态工厂的实例
 private CarFactory(){}
 
 /**
  * 静态的方法,负责创建对象实例,中间采用的是反射机制
  * 返回一个显示了Car接口的对象
  * 其中的参数name为要new的对象名称,new对象采用的是反射机制
  */
 
 public static Car getCarInstance(String name) {
  Car c = null;
  if(name != null && !"".equals(name.trim())) {
   try {
    Class<?> car =  Class.forName(name);
    c = (Car) car.newInstance();
   } catch (ClassNotFoundException e) {
    e.printStackTrace();
   } catch (InstantiationException e) {
    e.printStackTrace();
   } catch (IllegalAccessException e) {
    e.printStackTrace();
   }
  }
  return c;
 }
}


interface Car{
 public void run();
 public void stop();
}

class Benz implements Car{
 public void run() {
  System.out.println("Benz go .");
 }
 public void stop() {
  System.out.println("Benz stop..");
 }
}

class Ford implements Car{
 public void run() {
  System.out.println("Ford go .");
 }
 public void stop() {
  System.out.println("Ford stop..");
 }
}

class Toyota implements Car{
 public void run() {
  System.out.println("Toyota go .");
 }
 public void stop() {
  System.out.println("Toyota stop..");
 }
}

分享到:
评论

相关推荐

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

    简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要知道具体的产品类型,而无需了解如何创建对象。简单工厂模式适用于产品种类较少且相对固定的情况...

    简单工厂模式-工厂方法模式-抽象工厂模式

    简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。这个工厂类根据传入的参数或者条件来决定创建哪种类型的实例。在简单工厂模式中,通常有一个中心工厂类,它负责知道如何创建各种产品。这种模式...

    简单工厂模式、工厂模式、抽象工厂模式案例(C++实现)

    简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。在C++中,这个工厂类通常包含一个静态方法,根据传入的参数或者条件决定创建哪个类的实例。这种模式的优点是客户端无需知道具体产品的类名,只...

    简单工厂模式,工厂方法模式,抽象工厂模式

    简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的工厂类来创建对象。这个工厂类通常包含一个或多个静态方法,用于根据输入参数创建不同类型的实例。这种模式的优点在于客户端代码无需...

    java 简单工厂模式 源代码

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

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

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

    c#工厂模式——简单工厂,抽象工厂,单件模式实例

    简单工厂模式是一种静态工厂方法,它创建一个具体的对象而无需暴露创建逻辑。在C#中,我们可以定义一个工厂类,该类包含一个静态方法,用于根据输入参数返回不同类型的实例。例如,一个形状工厂可以生成圆形、...

    Java设计模式之静态工厂模式详解

    静态工厂模式也称为简单工厂模式,它是一种简单的工厂模式。这种模式涉及到三个角色:工厂类角色、抽象产品类角色和具体产品类角色。抽象产品类可以使用接口或者父类来描述产品对象的行为特征。具体产品类就是某一...

    反射简单工厂模式工厂模式

    简单工厂模式是一种创建型设计模式,它提供一个静态工厂方法来创建对象,而不是使用new关键字。`simplefactory`文件可能包含一个简单的工厂类,它负责根据输入条件(如参数)返回相应类型的实例。这种模式将对象的...

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

    MVC模式使得用户界面与数据逻辑分离,单例模式保证关键资源的唯一访问点,代理模式在访问对象前后增加额外的功能,工厂模式将对象创建与使用分离,简单工厂模式为对象创建提供一个简单便捷的接口。通过这些模式,...

    简单工厂模式和工厂模式Demo

    简单工厂模式通常包含一个静态工厂方法,该方法根据传入的参数或者某种条件决定创建哪种产品。这种方式将对象的创建与使用分离,使得客户端代码只需知道产品的接口,无需关心具体实现。例如,在代码中可能会有一个名...

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

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

    工厂模式简单示例代码

    工厂模式是一种常用的面向对象设计...在实际项目中,无论是简单的一般工厂模式还是静态工厂模式,都可以根据需求选择合适的方式来实现对象的创建。理解并熟练运用工厂模式,对于提升代码质量和可维护性具有重要意义。

    工厂模式源代码

    1. **简单工厂模式**:这是最直观的形式,包含一个静态工厂方法,根据传入的参数决定返回哪个类的实例。这种模式简单易用,但不支持增加新的产品类型,因为静态方法不易扩展。 2. **工厂方法模式**:每个子类都有一...

    设计模式单例模式和工厂模式综合应用

    工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式,根据具体需求选择合适的实现。 在这个项目中,单例模式可能被用来创建一个工厂类,这个工厂类负责生产特定类型的手机(或其他产品)。这样的设计可以确保在...

    抽象工厂模式+反射技术(抽象工厂模式+简单工厂模式)

    简单工厂模式是一种更为基础的工厂模式,它包含一个静态方法,用于根据输入参数返回一个具体的产品实例。相比抽象工厂模式,简单工厂模式通常处理的产品种类较少,而且产品之间的关系相对简单。在某些情况下,我们...

    简单工厂模式_简单工厂模式_

    简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式使得代码能够将实例化的责任封装起来,使得客户端代码无需关心具体的对象实现,只需要知道一个公共接口即可...

    简单工厂模式详述

    简单工厂模式的核心在于一个静态工厂方法,这个方法根据传入的参数返回一个具体的产品对象。 在给定的示例中,Sunny 软件公司正在开发一个图表库,该库需要支持柱状图、饼状图和折线图等多种图表类型。初始设计中,...

    简单工厂模式

    简单工厂模式是一种设计模式,属于创建型模式,它提供了一个创建对象的接口,但让子类决定实例化哪一个类。这种类型的设计模式属于类创建模式。在简单工厂模式中,我们创建一个工厂类,它根据传入的参数来返回一个...

    简单工厂模式、工厂模式、抽象工厂模式

    简单工厂模式通过提供一个静态工厂类来创建对象,这个工厂类包含一个静态方法,该方法可以根据传入的参数返回不同类型的产品对象。这样暴发户只需要告诉司机“开车”,而无需指定具体的车型。 **UML 类图及代码示例...

Global site tag (gtag.js) - Google Analytics