`

设计模式之简单工厂模式java示例

阅读更多
简单工厂模式的构成
  1、工厂类角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,他往往由一个具体类实现。
   2、抽象产品角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
  3、具体产品角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。


工厂类角色:PersonFactory.java
package com.test.simplefactory;
public class PersonFactory {
public Person getPerson(String name)
{
  if("america".equals(name))
  {
   return new America();
  }
  else if ("chinese".equals(name))
  {
   return new Chinese();
  }
  else
  {
   return null;
  }
}
}
 

抽象产品角色:person.java
package com.test.simplefactory;
public interface Person {
public String sayHello(String name);
public String sayGoodbye(String name);
}

具体产品角色:
Chinese.java
package com.test.simplefactory;
public class Chinese implements Person {

public String sayGoodbye(String name) {
  // TODO Auto-generated method stub
  return "再见,"+name;
}

public String sayHello(String name) {
  // TODO Auto-generated method stub
  return "你好,"+name;
}
}

America.java
package com.test.simplefactory;
public class America implements Person {

public String sayGoodbye(String name) {
  // TODO Auto-generated method stub
  return "good bye,"+name;
}

public String sayHello(String name) {
  // TODO Auto-generated method stub
  return "hello,"+name;
}
}
 

测试客户端:Client.java
package com.test.simplefactory;
public class Client {
/**
  * @param args
  */
/**
  * 简单工厂模式的构成
  * 1、工厂类角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。
  *   工厂类在客户端的直接调用下创建产品对象,他往往由一个具体类实现。
  * 2、抽象产品角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
  * 3、简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
/*  Person chinese = new Chinese();  
  System.out.println(chinese.sayHello("张三"));
  System.out.println(chinese.sayGoodbye("张三"));
  
  Person america= new America();
  System.out.println(america.sayHello("Tom"));
  System.out.println(america.sayGoodbye("Tom"));*/
  
  //采用工厂模式后,我们不在关心Chinese类和America类,只需要传入相应参数即可。
  
  PersonFactory factory = new PersonFactory();
  Person chinese = factory.getPerson("chinese");//工厂类负责生成一个具体对象
  System.out.println(chinese.sayHello("张三"));
  System.out.println(chinese.sayGoodbye("张三"));
  
  Person america = factory.getPerson("america");//工厂类负责生成一个具体对象
  System.out.println(america.sayHello("Tom"));
  System.out.println(america.sayGoodbye("Tom"));
  
}
}
 
分享到:
评论

相关推荐

    java设计模式-简单工厂模式示例

    简单工厂模式是面向对象设计中的一种经典设计模式,它属于创建型模式,主要用来解决对象的创建问题。在Java编程中,简单工厂模式通过一个中心工厂类来负责创建相关的对象,而无需让客户端代码直接new具体的产品类。...

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

    这些代码示例在`java`环境下实现,展示了如何利用工厂模式进行对象创建。通过这种方式,我们可以在不暴露对象创建细节的情况下,让客户端代码更加简洁,同时便于后期维护和扩展。在实际项目中,工厂模式经常与其他...

    java设计模式示例

    java设计模式示例 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型...

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

    在给定的资源中,"设计模式交流之工厂模式-shannonxu-2014-10-24.pptx"可能是详细的PPT讲解,涵盖了这些模式的概念、结构、优缺点以及实际应用案例。而"Factory"可能是一个代码示例,展示了工厂模式的具体实现,包括...

    Java23个设计模式简单示例

    本项目提供了Java语言实现的23种经典设计模式的简单示例,旨在帮助开发者理解和应用这些模式。以下是这23个设计模式的详细说明: 1. **单例模式**:保证一个类只有一个实例,并提供全局访问点。示例中可能包含...

    java工厂设计模式之简单工厂

    **Java工厂设计模式之简单工厂** 简单工厂设计模式是一种创建型设计模式,它提供一个创建对象的静态方法,客户端可以通过这个静态方法获取所需的具体产品,而无需了解这些产品的具体实现。这种模式的主要目的是将...

    设计模式之简单工厂模式

    **简单工厂模式**是软件设计模式中的一种基础模式,它属于创建型模式,主要用于简化对象的创建过程。在简单工厂模式中,一个专门的工厂类负责创建对象,客户端通过调用工厂类的方法来获取所需的对象,而无需关心具体...

    简单工厂模式java示例demo

    在这个Java示例Demo中,我们将深入探讨简单工厂模式的核心概念、结构以及如何在实际编程中应用。 简单工厂模式的基本思想是定义一个工厂类,它可以根据传入的参数或者条件来决定创建哪种类型的实例。这种模式通常...

    23种设计模式之抽象工厂模式Java示例代码

    ### 23种设计模式之抽象工厂模式Java示例代码详解 #### 概述 抽象工厂模式(Abstract Factory Pattern)是面向对象设计模式中的一个重要成员,属于创建型模式的一种。它提供了一种创建一系列相关或相互依赖对象的...

    java设计模式,工厂模式(简单工厂、工厂、抽象工厂)示例源码

    java设计模式,工厂模式(简单工厂、工厂、抽象工厂)示例源码 //简单工厂 // ICar car = CarSimpleFactory.create(CarSimpleFactory.UPTYPE); //工厂 AbstractFactory factory = new MidFactory(); ICar car =...

    工厂设计模式Java示例

    在Java中,工厂设计模式通常包括简单工厂模式、工厂方法模式和抽象工厂模式。这里提到的"工厂、抽象工厂"可能指的是这两种不同的工厂模式: 1. **简单工厂模式**:这是最基础的形式,通常包含一个静态工厂方法,...

    设计模式之简单工厂模式源码

    简单工厂模式是软件设计模式中的一种基础模式,它在创建对象时起到了抽象和封装的作用,使得客户端无需关心具体对象的创建过程,只需要通过一个公共的工厂接口就能获取所需的对象。这种模式尤其适用于当系统中存在...

    Java工厂模式:简单工厂、工厂方法模式、抽象工厂模式代码示例

    工厂模式是Java设计模式中的一种创建型模式,旨在提供一种将对象创建与其实现分离的机制,增加软件的灵活性和可维护性。在Java中,工厂模式分为三种:简单工厂、工厂方法模式和抽象工厂模式。 **简单工厂模式** 是...

    Java设计模式代码,设计模式系列所有示例代码

    本资源“Java设计模式代码,设计模式系列所有示例代码”为学习者提供了实际操作设计模式的宝贵机会,使理论与实践相结合,提升开发效率和代码质量。 首先,设计模式分为三大类:创建型、结构型和行为型。创建型模式...

    设计模式——简单工厂模式

    **设计模式——简单工厂模式...简单工厂模式是设计模式的基础之一,理解并熟练应用它可以提高代码的可读性和可维护性。在实际开发中,根据项目需求和规模,可能会选择更复杂的工厂模式,如工厂方法模式或抽象工厂模式。

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

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

    java与模式之简单工厂模式

    在Java与模式之简单工厂模式中,我们首先理解其基本概念。简单工厂模式包含三个主要角色: 1. **产品接口(Product)**:定义了产品的公共接口,所有具体产品类都需要实现这个接口。 2. **具体产品(Concrete ...

    设计模式之简单工厂模式(附demo)

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了系统与具体创建对象之间的耦合度。在这个模式中,有一个工厂类负责创建对象,客户端通过调用工厂类的特定方法来获取...

    Java设计模式简单工厂模式

    简单工厂模式是软件设计模式中的创建型模式之一,它提供了一种创建对象的最佳方式。在简单工厂模式中,一个专门的类(工厂类)负责创建其他类的实例,客户端通过工厂类来获取所需对象,而无需了解具体的创建过程。...

    设计模式简单工厂

    以`Design Pattern`为例,这个压缩包可能包含了实现简单工厂模式的代码示例。这些示例可能包括以下几个部分: - 一个接口,例如`Product`,定义了产品的基本行为。 - 几个具体的实现类,如`ConcreteProductA`、`...

Global site tag (gtag.js) - Google Analytics