简单工厂模式(Simple Factory)又叫静态工厂方法模式。它定义了一个具体的工厂类来负责创建一些类的实例,而这些被创建的类都应该有一个共同的父类。
下面是一个利用简单工厂模式创建Tiger,Dolphin,Parrot的例子,这些具体的动物类都实现了抽象的动物接口。
//****Animal.java
package com.designpattern;
public interface Animal {
public void eat();
}
//****Tiger.java
package com.designpattern;
public class Tiger implements Animal {
public void run() {
System.out.println("Tiger is running!");
}
public void eat() {
System.out.println("Tiger is eating!");
}
}
//****Dolphin.java
package com.designpattern;
public class Dolphin implements Animal {
public void swim() {
System.out.println("Dolphin is swimming!");
}
public void eat() {
System.out.println("Dolphin is eating!");
}
}
//****Parrot.java
package com.designpattern;
public class Parrot implements Animal {
public void fly() {
System.out.println("Parrot is flying!");
}
public void eat() {
System.out.println("Parrot is eating!");
}
}
//****SimpleFactory.java
package com.designpattern;
public class SimpleFactory {
/*in terms of parameter to create different objects*/
public static Animal createAnimal(String animalName){
if("Tiger".equals(animalName))
return new Tiger();
else if("Dolphin".equals(animalName))
return new Dolphin();
else if("Parrot".equals(animalName))
return new Parrot();
}
}
//****Client.java
package com.designpattern;
public class Client {
public static void main(String[] args){
Animal animal = SimpleFactory.createAnimal("Tiger");
animal.eat();
Animal animal = SimpleFactory.createAnimal("Dolphin");
animal.eat();
Animal animal = SimpleFactory.createAnimal("Parrot");
animal.eat();
}
}
//****输出****
Tiger is eating!
Dolphin is eating!
Parrot is eating!
总结:
简单工厂模式中,客户端不再负责对象的创建,具体的工厂类用来创建对象,客户端只负责对对象的调用。
分享到:
相关推荐
上市案例研习12:共同实际控制人和无实际控制人.docx
精品资料(2021-2022年收藏的)案例研习93:主要客户变动解决之道.doc
精品--大厂offer研习社:大厂求职校招社招简历内推,简历例句、项目经验模板分享、简历模板分享、面试经验分享。
互联网盈利模式研习笔记之一:流量变现.docx
个人花大量时间整理出的简历模板,内容丰富,无论是应届生,还是职场老手,都有相应的模板,节约自身时间,提升效率。 亲们下载我任何一个付费资源后,即可私信联系我免费下载其他相关资源,包含简历模板、PPT模板、...
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,...
不该用Generics实现Abstract Factory的理由 C#2.0-泛型 C#2.0-extern C#2.0-可空类型 C#2.0-分部类 C#2.0-迭代器 C#2.0 的新增功能学习 泛型的序列化问题 .NET 2.0 泛型在实际开发中的一次小应用 C#2.0 Singleton 的...
法律英语研习资料1:THE_PATH_OF_THE_LAW.docx
功能性好理解,硬指标,开发过程中的里程碑,一定要啃下的山头,而非功能性需求更偏“软”,如App好不好用,速度快不快,设计是否反人类等。在我们的日常生活中,非核心、非会员,只要带了一个“非”字,往往都不是...
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,...
【内容简介】本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的...
专题研习问卷设计
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,...
一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,以及这...
一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,以及这...
一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,以及这...
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、...
本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,每一个章节讲解一个编程模式,说明此模式的用意、结构,...