关于工厂模式,没什么好说的,实在太常见了。不过作为设计模式的完整性,还是将它写出来来。
以前我们创建一个对象时通常是采用new的方式,如
java 代码
- Product proa = new ProductA();
- Product prob = new ProductB();
这样进行实例创建的一个结果是,当Product子类越来越多的时候,这样就需要修改new代码。这样是很麻烦的。一个解决的方法就是使用一个对象来管理这些对象的创建。这个用来创建对象的便是Factory。
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。(G4)
下面来看看具体的实现代码吧。
java 代码
-
- public interface Product {
- ......
- }
java 代码
-
- public class ProductA implements Product {
- ......
- }
-
-
- public class ProductB implements Product {
- ......
- }
工厂
java 代码
-
- public class Factory {
-
- public static Product createProduct (String product) {
- if( product.equals("A") )
- return new ProductA();
- else if ( product.equals("B") )
- return new ProductB();
- else
- ......
- }
- }
这样,我们创建对象的时候就不需要使用new了。
java 代码
- Product proa = Factory.createProduct("A");
- Product prob = Factory.createProduct("B");
分享到:
相关推荐
java 创建型模式--工厂模式(Factory Pattern)示范代码demo,关于工厂模式可以查看我的博客 http://blog.csdn.net/u012930316/article/details/54599580
设计模式---抽象工厂模式(Abstract Factory)-UML图 (StarUML)
factory-go通过定义工厂模式,允许开发者定义和生成复杂的测试对象,减少了样板代码,提高了测试的效率和可读性。 该项目的核心概念是“Factory”,它是一个可以生成特定类型实例的对象。开发者可以通过定义Factory...
本资源包主要涵盖了三种经典的设计模式:单例模式、工厂模式以及代理模式。下面将详细阐述这三种模式的概念、实现方式及其在实际开发中的应用。 **单例模式**: 单例模式是一种限制类实例化次数为一次的设计模式,...
- **简单工厂模式(Simple Factory)**:也称为静态工厂方法模式,通过一个静态方法来创建产品对象,不涉及类的实例化。 - **工厂方法模式(Factory Method)**:定义一个创建对象的接口,让子类决定实例化哪一个类...
1. **简单工厂模式**(Simple Factory Pattern):由一个静态方法或单例类负责创建对象,适用于对象种类较少且不会频繁变动的情况。 2. **工厂方法模式**(Factory Method Pattern):定义一个创建对象的接口,让...
工厂方法模式是设计模式中的创建型模式之一,它在软件工程中扮演着非常重要的角色。这个模式的主要目的是将对象的创建过程抽象出来,使得创建过程独立于使用对象的客户端,从而提高了系统的可扩展性和可维护性。在这...
**简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...
这个"A-classic-factory-pattern-example.rar_factory"压缩包中包含的"一个工厂模式的简单但典型的例子"是为了帮助初学者理解和应用工厂模式而设计的。下面我们将详细探讨工厂模式的核心概念、工作原理以及其在实际...
【标题】"Simple-Factory-for-Salary.rar_factory" 指的是一个使用简单工厂设计模式来计算薪资的项目,特别适用于Visual C++ 6.0(VC6)环境。这个项目可能包含了一个或多个用于创建薪资计算类实例的工厂类,以适应...
### Factory Method 工厂方法模式(创建型模式) #### 概述 在软件工程领域,设计模式是一种在特定上下文中解决常见问题的通用方案。Factory Method(工厂方法)模式是GoF(Gang of Four)设计模式之一,属于创建型...
描述中的“创建型模式-工厂方法模式-最简单的源码-qt工程”表明,这个压缩包可能包含了一个基于Qt框架的C++项目,该项目展示了工厂方法模式的简单应用。Qt是一个跨平台的应用程序开发框架,广泛用于GUI编程,但也...
"Factory-Thing"看起来像是一个项目或库的名称,它可能与软件开发中的工厂模式或者实体(thing)的创建有关。工厂模式是设计模式中的一种,广泛应用于面向对象编程,尤其是在Java、C#等语言中。它提供了一种创建对象...
"Factory Stories"是将工厂模式应用到具体业务场景的一种概念,它帮助开发者构建更加复杂的关联数据模型。下面,我们将深入探讨Laravel模型工厂及其在开发中的应用。 ### 1. 模型工厂定义 在Laravel中,模型工厂...
总的来说,这个"calculator-of-Simple-Factory-Pattern.rar_factory"项目展示了如何运用简单工厂模式来构建一个计算器系统,使得系统能够根据不同的计算需求动态地创建相应的计算器对象,同时也为未来的功能扩展打下...
在压缩包"Factory-Pattern"中,可能包含了相关的代码示例,这些示例可能涵盖了简单工厂、工厂方法以及抽象工厂的实现。通过学习这些代码,你可以更好地理解工厂模式的工作原理,以及如何在自己的项目中应用这些模式...
在这个`simple-factory-demo.zip`压缩包中,我们很可能会找到一个示例程序,它演示了如何在实际代码中应用简单工厂模式。 简单工厂模式的核心思想是通过一个工厂类来负责创建对象,而不是让客户端直接实例化具体的...
工厂方法(Factory Method)设计模式是面向对象设计中的一种经典模式,它属于创建型设计模式,主要用于解决对象创建的问题。在这个名为“Factory-Method-for-Salary.rar_factory”的项目中,我们将深入探讨如何利用...
在这个名为"factory"的压缩包文件中,很可能是包含了上述三种工厂模式的Java源码实现。通过查看这些源码,我们可以学习如何在实际项目中应用工厂模式,理解其背后的意图和实现方式,从而提升我们的编程技能和设计...