`

创建型设计模式--简单工厂

阅读更多

 

简单工厂(静态工厂方法Static Factory Method模式)

   

    简单工厂模式是由一个工厂对象来决定创造哪一种产品类的实例

 

    简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断。

 

 

 

// 产品接口---水果接口
public interface Fruit {
	public void plant();
}

// 产品----苹果类
public class Apple implements Fruit {
	public void plant() {
		System.out.println("plant apple!");
	}
}

// 产品----草莓类
public class Strawberry implements Fruit {
	public void plant() {
		System.out.println("plant Strawberry!");
	}
}

// 工厂异常类
public class BadFruitException extends Exception {
	public BadFruitException(String msg) {
		super(msg); // 调用父类的构造方法
	}
}

// 工厂----园丁类
public class FruitGardener {// 静态工厂方法
	public static Fruit factory(String which) throws BadFruitException {
		if (which.equalsIgnoreCase("apple")) {
			return new Apple();
		} else if (which.equalsIgnoreCase("strawberry")) {
			return new Strawberry();
		} else {
			throw new BadFruitException("Bad fruit request");
		}
	}
}

// 测试类
public class TestApp {
	private void test(String fruitName) {
		try {
			Fruit f = FruitGardener.factory(fruitName);
			System.out.println("恭喜!生产了一个水果对象:" + fruitName);
		} catch (BadFruitException e) {
			System.out.println("工厂目前不能生产产品:" + fruitName);
			System.out.println(e.getMessage());// 输出异常信息
		}
	}

	public static void main(String args[]) {
		TestApp t = new TestApp();
		t.test("apple");
		t.test("strawberry");
		t.test("car"); // 此处会抛异常,水果工厂能生产car(轿车)吗!
	}
}

 

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

相关推荐

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

    简单工厂模式则是创建型设计模式的另一种,它提供一个创建对象的接口,但是让子类决定实例化哪一个类。它负责创建所有可能的类的实例,一般被用来创建某一类产品。 在上述组装电脑的场景下,简单工厂模式可以帮助...

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

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

    设计模式-简单工厂源码

    C++设计模式-创建型模式-简单工厂模式源码

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

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

    设计模式----简单工厂模式

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,使得代码在创建对象时更加灵活,同时也隐藏了对象的创建细节。在这个模式中,一个专门的工厂类负责创建特定类型的对象,而...

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

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

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

    最新设计模式超级详解课程,课程深入浅出的探讨了设计模式总览,创建型模式、结构型模式、行为模式的...├─day01-总览设计模式-06-创建型模式-工厂-简单工厂模式.mp4 ├─day01-总览设计模式-07-创建型模式-工厂-工厂

    北风网-设计模式-简单工厂模式ppt

    简单工厂模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是在系统中如何创建对象的问题。设计模式是软件开发中的经验总结,旨在提高代码的可重用性、可读性和可维护性。 在简单工厂模式中,一个工厂...

    一例读懂设计模式-单例模式、简单工厂模式.zip

    简单工厂模式是一种创建型设计模式,它提供一个工厂类来负责创建对象,而不是让客户端代码直接创建。这样,客户端可以避免知道具体类的细节,只需调用工厂方法即可获取所需对象。 - 工厂类:包含一个或多个用于...

    java设计模式--工厂模式

    Java设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式的核心思想是将对象的创建过程封装起来,使得创建过程独立于使用过程,从而提高了代码的可扩展性和可维护性。在HeadFirst...

    设计模式-工厂模式

    工厂模式是设计模式中的一个基础且重要的部分,它属于创建型设计模式,主要用于封装对象的创建过程,使得客户端不必关心具体的实现细节,提高了代码的可扩展性和可维护性。 工厂模式主要有三种形式:简单工厂模式、...

    设计模式----工厂模式

    工厂模式是面向对象设计中最为人熟知的设计模式之一,属于创建型模式,其主要目标是封装对象的创建过程,使得客户端无需关心对象的具体创建细节,只需通过工厂接口来获取所需的对象。 ### 1. 工厂模式的基本概念 ...

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

    在本实验中,我们将探讨五种常见的创建型设计模式:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式,并在Java环境中实现这些模式。 1. **简单工厂模式**: - **概念**:简单工厂模式通过一个...

    设计模式-简单工厂模式-例题

    简单工厂模式(Simple Factory Pattern)是一种常用的创建型设计模式。它提供了一种方式来封装对象的创建过程,使得整个系统更加灵活,易于扩展。在简单工厂模式中,存在一个专门用于创建对象的工厂类,它负责根据...

    设计模式-工厂方法模式

    总结来说,工厂方法模式是一种创建型设计模式,它将对象的创建过程封装到单独的工厂类中,使得客户端无需知道具体的产品类,只依赖于工厂接口。结合反射机制和配置文件,工厂方法模式能够实现高度动态和可配置的对象...

    设计模式--工厂模式java例子

    在这些模式中,工厂模式尤为突出,它是一种创建型设计模式,为对象的创建提供了抽象接口,使得代码无需直接实例化具体类,而是通过工厂方法来创建对象。 在Java编程语言中,工厂模式的应用广泛且实用。它主要分为三...

    java设计模式-工厂模式

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

    设计模式-简单工厂模式

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了系统与具体创建对象之间的耦合度。在这个模式中,有一个名为“工厂”的类,负责创建对象,客户端通过调用工厂的方法...

Global site tag (gtag.js) - Google Analytics