`
lvwenwen
  • 浏览: 958730 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

java设计模式之简单工厂模式(创建型模式)

阅读更多

 

/**
 * ## 具体产品(Concrete Product)角色
 *
 */
public class Apple implements Fruit {

	public void grow() {
		System.out.println("Apple is growing--------------");
	}

	public void plant() {
		System.out.println("Apple is planting--------------");
	}

	public void harvest() {
		System.out.println("Apple is harvesting--------------");
	}

}


package com.createtype.desginpatterns.facotry.simplefactory;

public interface Fruit {
	public void grow();

	public void plant();

	public void harvest();
}

package com.createtype.desginpatterns.facotry.simplefactory;
/**
 * ## 简单工厂(Creator)角色
 * 
 */
public class Gardener {

	public static Fruit factory(String fruit){
		if (fruit.equalsIgnoreCase("apple")) {
			return new Apple();
		} else if (fruit.equalsIgnoreCase("grape")) {
			return new Grape();
		} else {
			return null;
		}
	}
}
 

package com.createtype.desginpatterns.facotry.simplefactory;
/**
 * ## 具体产品(Concrete Product)角色
 *
 */
public class Grape implements Fruit {

	public void grow() {
		System.out.println("Grape is growing--------------");
	}

	public void plant() {
		System.out.println("Grape is planting--------------");
	}

	public void harvest() {
		System.out.println("Grape is harvesting--------------");
	}
	
}
 

package com.createtype.desginpatterns.facotry.simplefactory;

public class Test {

	/**
	=> 简单工厂角色:核心,封装商业逻辑,通常由一个具体Java类实现
	=> 抽象产品角色:简单工厂模式创建的对象的父类或者共同的接口,通常由一个Java抽象类或者Java接口实现
	=> 具体产品角色:简单工厂模式创建的对象是该类的实例,通常由一个具体Java类实现
	=> 优点:
	              1. 模式核心是工厂类,该类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类实例.
	              2. 客户端避免了直接创建产品对象的责任,仅仅负责消费产品.实现责任分割.
	=> 缺点:
	               1. 工厂类为上帝类(God Class),一旦它受影响了,涉及整个系统正常运作
	               2. 工厂类中集中了过多的逻辑,难以维护及扩展
	               3. 新的产品类加入系统时,工厂角色需要做相应修改,不支持"开-闭"原则
	=> 应用: DateFormat.getInstance() -> 返回其子类实例对象,如SimpleDateFormat
	 */
	public static void main(String[] args) {

		
		
		
		
	}

}
分享到:
评论

相关推荐

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

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

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

    工厂模式是一种创建型设计模式,它提供了一种创建对象的统一接口,从而使得创建和使用对象的代码分离。工厂模式帮助隐藏了对象创建的细节,用户无需知道具体类的实现就能创建出对象实例。在Java中,简单工厂模式、...

    Java设计模式-简单工厂

    **Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...

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

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

    java版本的设计模式的实现demo

    单例模式是最常见的创建型模式之一,它确保一个类只有一个实例,并提供全局访问点。在Java中,可以通过私有构造函数、静态私有变量和公共静态方法来实现单例模式。 3. 工厂模式 工厂模式是另一种常用的创建型模式,它将...

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

    在这个"java设计模式之简单工厂.zip"压缩包中,包含了两个视频文件,分别以“5.理解简单工厂.avi”和“4.初识和体会简单工厂.avi”命名,它们旨在帮助我们深入理解和掌握Java中的简单工厂设计模式。 简单工厂模式是...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    1. **创建型模式**:包括单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)。这些模式关注对象的创建过程,使得代码更加灵活,易于管理和扩展。...

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

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

    java设计模式pdf

    ### Java设计模式详解 #### 一、背景与概念 在软件工程领域,设计模式是一种用于解决常见问题的可重用解决方案。《Java设计模式PDF》是一本由James W. Cooper编写的经典书籍,该书详细介绍了Java编程语言中的设计...

    JAVA设计模式之抽象工厂

    **JAVA设计模式之抽象工厂** 在软件工程中,设计模式是一种通用的解决方案,用来解决在特定上下文中反复出现的问题。抽象工厂(Abstract Factory)模式是其中一种创建型设计模式,它提供一个创建对象的接口,但允许...

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

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

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

    **工厂模式**是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当客户端请求创建一个产品时,工厂类会负责创建这个产品。这样做的好处是隐藏了对象创建的复杂性,客户端只需要知道如何获取产品...

    Java设计模式之创建型模式的几个小DEMO

    创建型模式是设计模式的一种分类,主要关注对象的创建过程,旨在抽象和隔离实例化过程,提高代码的灵活性和可复用性。本篇文章将详细探讨Java中的几种创建型设计模式,并通过具体的DEMO来阐述它们的应用。 1. 单例...

    探索Java设计模式:工厂模式与抽象工厂模式的比较

    工厂模式和抽象工厂模式是两种常用的创建型设计模式,它们在Java中有着广泛的应用。本文将详细探讨这两种模式的区别,并提供代码示例来加深理解。 工厂模式和抽象工厂模式都是创建型设计模式,它们提供了代码解耦和...

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    JAVA 设计模式 工厂模式 代理模式 迭代模式 责任链模式 源码

    以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...

    java与模式之简单工厂模式

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题。在Java编程中,简单工厂模式通过一个公共的工厂类来创建对象,避免了客户端代码直接new对象,增强了代码的可维护性和扩展...

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

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

Global site tag (gtag.js) - Google Analytics