`

简单工厂SimpleFactory

 
阅读更多

1. 定义

提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口,抽象类,也可以是具体的类。

 

2. 结构图

Api:定义客户所需要的功能接口。

Impl:具体实现Api的实现类,可能会有多个。

Factory:工厂,选择合适的实现类来创建Api接口对象。

Client:客户端,通过Factory类获取Api接口对象,然后面向Api接口编程。

 

3. 本质

简单工厂的本质是:选择实现。

 

4. Code Demo

Api.java

package org.fool.pattern.simplefactory;

public interface Api {

	public void operation(String s);
}

ImplA.java

package org.fool.pattern.simplefactory;

public class ImplA implements Api {
	public void operation(String s) {
		System.out.println("Invoked By ImplA " + s);
	}
}

ImplB.java

package org.fool.pattern.simplefactory;

public class ImplB implements Api {
	public void operation(String s) {
		System.out.println("Invoked By ImplB " + s);
	}
}

Factory.java

package org.fool.pattern.simplefactory;

public class Factory {

	public static Api createApi(int type) {

		Api api = null;

		if (type == 1) {
			api = new ImplA();
		} else if (type == 2) {
			api = new ImplB();
		}

		return api;
	}
}

Client.java

package org.fool.pattern.simplefactory;

public class Client {
	public static void main(String[] args) {
		Api api = Factory.createApi(1);

		api.operation("正在使用简单工厂");

		api = Factory.createApi(2);

		api.operation("正在使用简单工厂");
	}
}

 

 

 

  • 大小: 68.8 KB
分享到:
评论

相关推荐

    C# 简单工厂 SimpleFactory.rar

    SimpleFactory.rar QQ:292258449

    java工厂模式SimpleFactory

    在Java中,SimpleFactory(简单工厂)是最基础的工厂模式实现,通常用于创建对象的过程相对简单且固定的情况。它的核心思想是封装对象的创建过程,让客户端避免直接实例化对象,而是通过工厂类来完成。这样做的好处...

    设计模式 创建型模式 Simple Factory模式(简单工厂)

    Simple Factory模式: 定义创建对象的接口,并封装对象的创建。 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来处理一些问题。抽象出一些类的公共接口作为抽象基类或者接口。这样的话,我们将会面临一个...

    SimpleFactory

    "SimpleFactory" 是设计模式中的一种,通常称为简单工厂模式。它属于创建型设计模式,主要目的是提供一个创建对象的公共接口,让客户端可以不关心具体对象的创建过程,只需要知道所需对象的类型即可。这种模式简化了...

    Simple Factory Pattern.rar【GoF的简单工厂模式(C#源码)】

    简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的...SimpleFactory作为Creator。我已经用C#的源码编程了:请下载Simple Factory Pattern.rar

    java 设计模式 Facade外观模式 Simple Factory 简单工厂模式

    在这篇文章中,我们将深入探讨两种常见的设计模式:Facade(外观)模式和Simple Factory(简单工厂)模式。 首先,让我们关注Facade模式。外观模式是一种结构型设计模式,它的主要目标是提供一个统一的接口,用来...

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

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

    001SimpleFactory.rar

    总结来说,"001SimpleFactory.rar"压缩包中的代码示例可能是为了演示如何在实际项目中运用简单工厂模式,帮助开发者理解和学习如何通过工厂类来封装对象的创建过程,以实现代码的模块化和可扩展性。通过研究和实践这...

    Factory_Method&&Simple_Factory

    简单工厂模式(Simple Factory Pattern)是工厂方法模式的一个简化版本,它没有定义工厂接口,只有一个具体工厂类负责创建所有对象。简单工厂模式适用于产品种类较少,且不会频繁改变的情况。 在实际应用中,工厂...

    simplefactory.zip

    在我们的“simplefactory.zip”文件中,我们可以看到一个简单的工厂模式实现示例。这个例子可能包括以下几个部分: - 一个接口,例如`Product`,定义了产品类的基本行为。 - 若干个实现`Product`接口的具体产品类,...

    simpleFactory.zip

    本示例“simpleFactory.zip”关注的是设计模式中的一个基础模式——简单工厂(Simple Factory)模式,该模式在Java中得到了广泛的应用。简单工厂模式属于创建型设计模式,它的主要目的是通过一个公共的工厂类来创建...

    SimpleFactory1

    总结来说,"SimpleFactory1"实例展示了如何运用简单工厂模式来创建对象,通过工厂类封装了对象的实例化过程,使客户端代码更加简洁,同时也提供了一种灵活的方式来扩展产品种类,尽管这可能需要修改工厂类。...

    设计模式 t01SimpleFactory

    "t01SimpleFactory"指的是简单工厂(Simple Factory)设计模式,它是创建型设计模式之一。 简单工厂模式的核心思想是通过一个公共的工厂类来创建对象,这个工厂类负责实例化客户所需的对象,客户只需要知道具体的...

    各种设计模式及解析

    3、简单工厂 Simple Factory (很多的产品,由一个工厂出产) 4、抽象工厂 Abstract Factory (很多的产品,分别由不同的工厂出产) 5、模板方法 Template Method (定义一个操作中的算法骨架,将其具体算法延迟到子类中...

    Simple Factory模式.doc

    简单工厂模式(Simple Factory Pattern)是一种设计模式,属于创建型模式,它提供了一种创建对象的最佳方式。在简单工厂模式中,当一个类不知道它所必须创建的对象的类的时候,它会将这个任务委托给一个工厂对象。在...

    工厂模式FactoryMode

    public class SimpleFactory { public static Product createProduct(String type) { if ("ProductA".equals(type)) { return new ProductA(); } else if ("ProductB".equals(type)) { return new ProductB(); ...

    C# SimpleFactory Demo

    C#简单工厂模式在项目需求中的应用Demo,适合新手。

    简单工厂模式

    接着,我们会创建一个工厂类,比如名为`SimpleFactory`,这个工厂类包含一个方法,用于根据输入条件返回相应的产品实例。例如,可以有一个`createProduct(String type)`方法,根据传入的字符串类型("A"或"B")来...

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

    - 在`SimpleFactory`文件中,我们可以看到一个简单的工厂类,它根据输入类型创建相应的对象。这种模式适用于对象种类较少且不常变动的情况。 2. **普通工厂模式**(工厂方法模式): - 工厂方法模式将对象的创建...

    简单工厂和抽象工厂的Demo

    3. 简单工厂类(SimpleFactory):包含创建产品的方法,根据输入条件返回具体产品实例。 4. 抽象工厂接口(AbstractFactory):定义创建产品族的接口。 5. 具体工厂类(ConcreteFactory1, ConcreteFactory2等):...

Global site tag (gtag.js) - Google Analytics