从设计模型的类型来讲,简单的工厂模式属于创建型模式,又叫静态工厂方法模式,简单的工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。
简单工厂模式的实质是由工厂类根据传入的参数,动态决定应该创建哪种产品类(这些产品类继承自一个父类或实现一个接口)的实例。
工厂(
Creator
)角色
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。
抽象产品(
Product
)角色
简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。
具体产品(
Concrete Product
)角色
是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。
举例说明:
public interface Animal {
public void makeSound();
}
public class Cat implements Animal{
@Override
public void makeSound() {
System.out.println("喵喵...");
}
}
public class Dog implements Animal{
@Override
public void makeSound() {
System.out.println("汪汪...");
}
}
public class AnimalFactory {
public static Animal createAnimal(String animal) {
if (animal.equals("猫")) {
return new Cat();
} else if (animal.equals("狗")) {
return new Dog();
}else {
return null;
}
}
}
public class AnimalSound {
public static void main(String[] args) {
Animal animal=AnimalFactory.createAnimal("狗");
animal.makeSound();
}
}
public class AnimalSound {
public static void main(String[] args) {
Animal animal=AnimalFactory.createAnimal("猫");
animal.makeSound();
}
}
传入不同的参数,将调用不同的产品类执行相应的方法。
优点:调用者可以不必考虑如何创建对象,而只通过传入参数进行调用就可以了。
缺点:如果要增加产品,只能改变工厂。如果产品类经常增加,那么,对于具体产品类型和条件参数的判断会很多,对系统的扩展和维护非常不利。
应用:因为它的优缺点,所以,工厂类负责创建的对象比较少,客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心的情况;
分享到:
相关推荐
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
java工厂设计模式之简单工厂实例以及介绍,程序已经运行过能正常跑通
java设计模式【之】抽象工厂模式【源码】【场景:制作咖啡】 * 抽象工厂 * * 创建对象实例时,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。 * 在工厂方法的基础上,进一步抽象工厂...
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
JAVA 设计模式: 工厂模式 代理模式 迭代模式 责任链模式 源码
Java设计模式之工厂模式 Java设计模式之工厂模式
JAVA设计模式,定义:提供创建对象的接口. 为何使用? 工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之Observer 9、...
Java设计模式:三大类工厂方法模式
Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel - 详情:https://blog.csdn.net/Dream_Weave/article/details/83989879
JAVA设计模式工厂模式之简单工厂[定义].pdf
设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:...
第一讲:简单工厂模式 第二讲:工厂方法模式 第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 第六讲:原型模式 第七讲:建造者模式 第八讲:装饰模式 第九讲:策略模式 第十讲:...
用myeclipse开发的java设计模式课程设计,课题内容为西瓜工厂,包含四个设计模式,单例模式、代理模式、建造者模式和抽象工厂模式,有较好的图形界面,文档内附有完整代码,适用于新手学习。
从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂...
java设计模式之抽象工厂模式实例,希望对大家有所帮助。
JAVA常用设计模式,包括:简单工厂、抽象工厂、单例、外观、桥接、代理等设计模式