`
lvwenwen
  • 浏览: 931874 次
  • 性别: 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设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    java 23种设计模式.zip

    1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、...

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

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

    java 简单工厂模式 源代码

    从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...

    java常用23中设计模式

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    java设计模式示例

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

    Java设计模式

    简单工厂模式是最简单的设计模式之一,它虽然不属于GoF的23种设计模式,但是应用也较为频繁,同时它是学习其他创建型模式的基础。在简单工厂模式中只需要记住一个简单的参数即可获得所需的对象实例,它提供专门的...

    33种JAVA设计模式DEMO

    创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象...

    Java23种设计模式可直接运行Demo

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    23种JAVA设计模式和15种J2EE设计模式

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

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

    ①使用简单工厂模式设计一个可以创建不同几何形状( Shape)(例如圆形( Circle).、矩形 Rectangle)和三角形( ( Triangle)等的绘图工具类,每个几何图形均具有绘制方法daw()和擦除方法 erase(),要求在绘制不支持的几何...

    Java 设计模式

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

    Java设计模式整理

    java设计模式word整理,付代码说明,时候java进阶选手,欢迎选购! 目录 1 1. 设计模式 2 1.1 创建型模式 2 1.1.1 工厂方法 2 1.1.2 抽象工厂 4 1.1.3 建造者模式 6 1.1.4 单态模式 9 1.1.5 原型模式 10 1.2 结构型...

    用Java实现23种设计模式

    1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 2. 结构型模式 适配器...

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

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

    java设计模式 创建型 构造型 行为型

    创建型 创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式。如,工厂方法、抽象工厂模式、单例模式等。 构造型 用于帮助将多个对象组织成更大的结构。如,适配器模式、桥接...

    Java 设计模式详解超详细(含示例代码)

    Java设计模式可以分为创建型模式、结构型模式和行为型模式三类。创建型模式涉及对象的创建,包括单例模式、工厂模式、原型模式等;结构型模式关注对象之间的结构关系,包括适配器模式、桥接模式、组合模式等;行为型...

    23种设计模式java源码

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    软件设计模式实验1创建型模式源码

    (1)请使用抽象工厂模式设计手机主题库 (2)为系统增加一种新的主题,绘制类图并实现,此时系统类图有何变化? (3)如果当系统主题发生变化的时候通讯录风格也发生变化,在这种情况之下上面设计的系统将如何变化...

Global site tag (gtag.js) - Google Analytics