定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例*延迟到其子类。
适用性
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个帮助子类是代理者这一信息局部化的时候。
参与者
1.Product
定义工厂方法所创建的对象的接口。
2.ConcreteProduct
实现Product接口。
3.Creator
声明工厂方法,该方法返回一个Product类型的对象*
Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。
可以调用工厂方法以创建一个Product对象。
4.ConcreteCreator
重定义工厂方法以返回一个ConcreteProduct实例。
类图
例子
product
public interface Work {
void doWork();
}
ConcreteProduct
public class StudentWork implements Work {
public void doWork() {
System.out.println("学生*作业!");
}
}
public class TeacherWork implements Work {
public void doWork() {
System.out.println("老师审批作业!");
}
}
Creator
public interface IWorkFactory {
Work get*ork();
}
Concre*eCreator
pu*lic class StudentWorkFactory implements IWorkFactory {
public Work getWork() {
*eturn new StudentWork();
}
}
public class TeacherWorkFactory implements IWorkFactory {
public Work getWork() {
return new TeacherWork();
}
}
Test
public class Test {
public static void m*in(Strin*[] args) {
IWorkFactory studentWorkFactory = new StudentWorkFactory();
studentWorkFactory.getWork().d*Work();
IWorkFactory teacherWorkFactory * new TeacherWorkFactory();
teacherWorkFactory.g*tWork().*oWork();
}
}
result
学生做作业!
老师审批作业!
分享到:
相关推荐
java设计模式之工厂方法模式 学习设计模式已经有一段时间了,但经常还是会很困惑。看书上的代码会发现很多不同的设计模式的代码结构非常相似。比如 Bridge 和 Strategy 。。。 设计模式就是我们设计过程中经常出现的...
java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...
摘要 :设计模式是面 向对 象的软件设计与 实现的关键技 术 ,如何根 据设计要...厂方法模 式是程序设计 中被广泛使 用的设计模式之一。本文重点介绍,使用工厂方法模式的一般原则,同时结合具体的实例来描述它的应用。
Java设计模式之工厂模式 Java设计模式之工厂模式
主要介绍了Java设计模式之工厂方法模式,较为详细的分析了Java工厂模式的功能、定义并给出了实例代码加以总结分析,需要的朋友可以参考下
主要为大家详细介绍了java设计模式之工厂方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java设计模式05工厂方法模式
Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...
设计模式之工厂模式Java实现和类设计图,包括简单工厂模式、工厂方法模式和抽象工厂模式
例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式
Java设计模式,工厂方法的Demo,具体的思想有很多讲得很好的老师,我是看厉风行老师的视频学的,讲得不错,简单易懂
Java实现的工厂模式,抽象工厂,工厂方法模式
工厂方法模式和简单工厂模式在结构上的不同是很明显的。工厂方法模式的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。工厂方法模式可以允许很多具体工厂类从抽象工厂类中将创建行为继承下来,从而...
这个是http://blog.csdn.net/dawanganban/article/details/9877593博客中java设计模式的源代码。下载前请先看《设计模式——工厂方法模式》一文。
java设计模式之工厂模式(3种完整免费提供).pdfjava设计模式之工厂模式(3种完整免费提供).pdfjava设计模式之工厂模式(3种完整免费提供).pdfjava设计模式之工厂模式(3种完整免费提供).pdfjava设计模式之工厂模式(3种...
Java设计模式之工厂模式实现,供大家一起共同分享学习。
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
JAVA设计模式之工厂模式.pdf