`

创建型模式---工厂方法

 
阅读更多

创建型模式包括以下5种:

FactoryMethod ( 工厂方法)

AbstractFactory ( 抽象工厂)

Singleton ( 单态模式 )

Builder ( 建造者模式 )

Prototype  原型模式 )

 

设计模式之一: 工厂方法

定义:一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到了其子类。
适用性:
   1> 当客户程序不需要知道要使用对象的创建过程。
   2> 客户程序使用的对象存在变动的可能,或者根本就不知道使用哪一个具体的对象。

 参与者
 1.Product 定义工厂方法所创建的对象的接口。
 2.ConcreteProduct 具体的Product,实现Product接口。
 3.Creator 声明工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。可以调用工厂方法以创建一个Product对象。
 4.ConcreteCreator 重定义工厂方法以返回一个ConcreteProduct实例。

 

代码如下: 

package keifer.share.creationalPattern.factory.method;

public class FactoryMethodPattern {//Test类
	public static void main(String[] args) {
		IWorkFactory chineseWorkFactory = new ChineseWorkFactory();
		chineseWorkFactory.getwork().work();
		IWorkFactory americanWorkFactory = new AmericanWorkFactory();
		americanWorkFactory.getwork().work();
	}
}

interface IHuman {//所属角色:Product
	public void work();
}

class AmericanPerson implements IHuman {//所属角色:ConcreteProduct
	public void work() {
		System.out.println("美国人在工作。");
	}
}

class ChinesePerson implements IHuman {//所属角色:ConcreteProduct
	public void work() {
		System.out.println("中国人在工作。");
	}
}

interface IWorkFactory {//工厂类接口。所属角色:Creator
	IHuman getwork();
}

class ChineseWorkFactory implements IWorkFactory {//所属角色:ConcreteCreator
	@Override
	public IHuman getwork() {
		return new ChinesePerson();
	}
}

class AmericanWorkFactory implements IWorkFactory {//所属角色:ConcreteCreator
	@Override
	public IHuman getwork() {
		return new AmericanPerson();
	}
}

/**
 运行结果:
 中国人在工作。
 美国人在工作。
*/

 

 

 

 

分享到:
评论

相关推荐

    JAVA-设计模式-创建型模式-工厂模式

    JAVA-设计模式-创建型模式-工厂模式

    创建型模式--工厂模式(Factory Pattern)示范代码

    java 创建型模式--工厂模式(Factory Pattern)示范代码demo,关于工厂模式可以查看我的博客 http://blog.csdn.net/u012930316/article/details/54599580

    创建型设计模式---工厂设计模式实现

    创建型设计模式---工厂设计模式实现

    创建型设计模式----抽象工厂模式

    抽象工厂模式是创建型设计模式的一种,它提供了一种创建对象族(一组具有相互依赖关系的对象)的方法,而无需指定具体类。这种模式的核心在于它允许客户端代码与具体实现细节解耦,使得更换一个产品族变得更为容易。...

    创建型模式-简单工厂(非23种之内)

    在某些情况下,可以考虑使用其他创建型模式,如工厂方法模式、抽象工厂模式或构建者模式,以适应更复杂的需求。例如,工厂方法模式允许子类决定具体的产品实例,而抽象工厂模式则处理一组相关的或相互依赖的对象的...

    3.java设计模式-创建者模式-抽象工厂模式.pdf

    抽象工厂模式是创建型设计模式中的一种,用于创建一系列相关或相互依赖的对象,而无需指定其具体类。抽象工厂模式强调产品的系列,对于有多个产品等级结构的系统非常有用。在抽象工厂模式中,一个工厂负责创建多个...

    c++设计模式-工厂方法模式

    工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...

    设计模式-工厂方法模式

    工厂方法模式作为创建型模式中的一种,提供了一种创建对象的优雅方式,它不仅使对象的创建与使用分离,还极大地提高了系统的扩展性和灵活性。本文将深入探讨工厂方法模式的内部机制,以及通过反射和配置文件技术增强...

    1.java设计模式-创建者模式-简单工厂模式.pdf

    简单工厂模式是Java设计模式中创建型模式的一种,也被称为静态工厂方法模式。该模式的主要思想是由一个专门的工厂类来负责创建其他类的实例。简单工厂模式通过封装创建对象的过程,使得调用者无需关心对象的具体创建...

    工厂方法模式---实例

    工厂方法模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂方法模式中,当我们创建对象时,我们不直接实例化具体类,而是调用一个工厂方法来创建对象。这种模式允许我们在不修改已有代码的情况下,...

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

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

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

    工厂模式是一种常用的软件设计模式,它是创建型设计模式的一种,主要解决对象的创建问题,将对象的创建过程封装起来,使得创建过程独立于使用过程。这样可以提高代码的可复用性和灵活性,同时降低了系统的耦合度。...

    最新设计模式超级详解+Tomcat架构源码分析+Spring源码分析 资深级设计模型课程

    最新设计模式超级详解课程,课程深入浅出的探讨了设计模式总览,创建型模式、结构型模式、行为模式的技术教学堪称经典。Spring源码分析,web源码分析,Tomcat架构...├─day01-总览设计模式-07-创建型模式-工厂-工厂

    设计模式-工厂方法模式视频

    工厂方法模式是面向对象设计中的一种经典设计模式,属于创建型模式。在软件工程中,当我们需要创建一系列相关或相互依赖的对象时,而不希望指定具体的类,工厂方法模式提供了一个很好的解决方案。 工厂方法模式的...

    设计模式--抽象工厂模式实现多数据库连接

    抽象工厂模式是设计模式中的一种创建型模式,它提供了一个创建对象族的接口,而无需指定它们的具体类。在.NET开发中,这种模式常用于实现多数据库连接,比如连接到MySQL、SQL Server或Oracle等不同的数据库系统。...

    简单工厂-工厂方法-抽象工厂 对比总结

    在软件设计模式中,工厂模式是一种非常常见的创建型模式,用于封装对象的创建过程,使得客户端无需关注具体的对象实例化细节。本篇文章将对三种主要的工厂模式:简单工厂、工厂方法和抽象工厂进行深入的对比和总结。...

    java设计模式-工厂模式

    Java设计模式中的工厂模式是一种创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品对象时,它不会直接创建,而是调用一个工厂对象来完成创建工作。这种模式的核心在于封装了对象...

    设计模式之创建型模式实验.docx

    【设计模式之创建型模式实验】 创建型设计模式主要关注对象的创建,它们提供了一种在不指定具体类的情况下创建对象的方式,增强了系统的灵活性和可扩展性。在本实验中,我们将探讨五种常见的创建型设计模式:简单...

    我讲设计模式--工厂方法

    "工厂方法"(Factory Method)是面向对象设计中的一种经典设计模式,它属于创建型模式,其主要目的是为了抽象产品的创建过程,使得具体的创建过程与使用产品的代码解耦。这个模式在《设计模式:可复用面向对象软件的...

    软件编程模式---工厂模式基础

    工厂模式是设计模式中的一种,属于创建型模式,它的主要目的是为了封装对象的创建过程,提供一个统一的接口来生成不同类型的实例,而无需暴露具体的创建逻辑。这篇教程将深入探讨工厂模式的基础知识,帮助你理解和...

Global site tag (gtag.js) - Google Analytics