设计模式之中的简单工厂,本人比较笨不会画什么类图。只想单写写对简单工厂的理解。 首先来个通用的实现接口。 [code="java"]package simpl.factory; /** * 这是一个通用的生产接口 * 就好比画一幅画 * @author zero * */ public interface Api { /** * 画画 */ public void doSomeThing(); }
这时候需要几个实现接口的类了,例如:
package simpl.factory;
/**
* 小朋友画的画
* @author zero
*
*/
public class HumanAApi implements Api{
@Override
public void doSomeThing() {
System.out.println("花的很可爱");
}
}
package simpl.factory;
/**
* 美术大师画的画
* @author zero
*
*/
public class HummnaBApi implements Api{
@Override
public void doSomeThing() {
System.out.println("非常美");
}
}
这两个就是我们的画画角色。
然后谁来管理呢?
package simpl.factory;
/**
* 我们的工厂
*
* @author zero
*
*/
public class Factory {
public static Api getHumanA() {
return new HumanAApi();
}
public static Api getHumanB() {
return new HummnaBApi();
}
}
最后看看,我们要求的画家画的画
package simpl.factory;
/**
* 看画
*
* @author zero
*
*/
public class Client {
public static void main(String[] args) {
Api a = Factory.getHumanA();
a.doSomeThing();
Api b = Factory.getHumanB();
b.doSomeThing();
}
}
看看结果,这个结构还是可以再次优化的。仔细看看代码,每次调用工厂的时候都会new出一个新的对象这样是不是有点浪费呢。所以可以工厂写成单例类
分享到:
相关推荐
c++设计模式-创建型模式-工厂方法模式-最简单的源码-qt工程
设计模式-简单工厂模式-披萨店C#语言版 如有学习讨论意向请联系我吧~ hzher@qq.com
北风网-设计模式-简单工厂模式ppt 带程序
设计模式-工厂模式 学习练习的代码 1.简单工厂模式 2.方法工厂模式 3.抽象工厂模式 4.模拟Spring Bean工厂练习
java设计模式----抽象工厂模式,简单工厂模式代码 代码内部
java设计模式-创建者模式-简单工厂模式。详细的讲解了什么是抽象工厂模式及应用场景和应用场景的代码事例。及各工厂模式的区别。
C++设计模式-创建型模式-简单工厂模式源码
java设计模式-创建者模式-简单工厂模式。详细的讲解了什么是简单工长模式及应用场景和应用场景的代码事例。
这个简单工厂的源码,是以手机制造为例子,里面分出五个情况,是我学习期间经历过的五个过程,欢迎大家免费下载,也希望发现错误的同学提醒我改正 文章地址:...
设计模式第四章简单工厂模式一个小例题,类图+简单代码
设计模式-简单工厂技术的原理解及其相关实现代码。
设计模式练习-简单工厂-JAVA简单工厂练习示例。
java设计模式-创建者模式-简单工厂模式。详细的讲解了什么是工厂方法模式及应用场景和应用场景的代码事例。及各工厂模式的区别。
c++设计模式-创建型-抽象工厂方法-最简单源码-qt工程
《设计模式-工厂模式》中的工厂方法模式代码示例,非简单工厂代码示例,简单工厂代码示例在原文中已经写好。
Java设计模式 - 简单工厂 & 工厂方法(构建工厂)源码:FactoryModel - 详情:https://blog.csdn.net/Dream_Weave/article/details/83989879
JAVA设计模式例程-工厂模式-的例程,看完以后基本上能对JAVA上实现简单工厂能有所了解,简单工厂还是比较容易滴,而且也是较为常用的一种设计模式。
简单工厂模式示例 有注释 需要的朋友可以下载研究 很简单很基础的一个设计模式
用代码的介绍了简单工厂模式的设计方式,希望大家一起学习。
工厂方法模式,主要是利用反射机制获取配置文件的信息,用户可以在不知道如何生产对象的情况下获取对象。包括源代码和文档(文档在本博客的文档说明中)。