以武哥的女娲造人为例:

女娲生产人,人有黑白黄三种,同时会说:

1、接口类为:

package 工厂模式;public interface Human {//人有不同颜色public void getColor();//人会说话public void talk();
}

2、下面捏各种人模子:

白:

package 工厂模式;public class whilteman implements Human {@Overridepublic void getColor() {System.out.println("白种人");}@Overridepublic void talk() {System.out.println("英语");}
}

黄:

package 工厂模式;public class yellowman implements Human {@Overridepublic void getColor() {System.out.println("小黄人");}@Overridepublic void talk() {System.out.println("黄语");}
}

黑:

package 工厂模式;public class blackman implements Human {@Overridepublic void getColor() {System.out.println("黑种人");}@Overridepublic void talk() {System.out.println("黑语");}
}

3、模子捏好了,那么需要借助炉子(八卦炉)

八卦炉抽象类:

//八卦炉(生产人)
public abstract class AbstractHumanFactory {public abstract <T extends Human> T createHuman(Class<T> clazz);
}

八卦炉实现类:

package 工厂模式;//实现八卦炉
public class HumanFactory extends AbstractHumanFactory {@Overridepublic <T extends Human> T createHuman(Class<T> clazz) {Human human = null;try {human = (Human) Class.forName(clazz.getName()).newInstance();} catch (Exception e) {// TODO: handle exceptionSystem.out.println("人种产生错误");}return (T) human;}
}

4、所有都弄好了,那么就应该造人了

package 工厂模式;public class test {public static void main(String[] args) {AbstractHumanFactory bagualu = new HumanFactory();Human blackman = bagualu.createHuman(blackman.class);Human whiteHuman = bagualu.createHuman(whilteman.class);Human yelloHuman = bagualu.createHuman(yellowman.class);}
}

本文学武哥文章,纯属学习

设计模式(四)工厂模式相关推荐

  1. 设计模式(四)——工厂模式(Factory Pattern)

    工厂模式(Factory Pattern) 意义 工厂模式 实现了创建者和调用者的分离.将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦.从而提高项目的扩展和维护性 ...

  2. 三角形圆形创建与擦除java_设计模式---------------简单工厂模式

    设计模式---------------简单工厂模式 一.题目(Question) 使用简单工厂模式设计一个可以创建不同几何形状(如圆形.方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和 ...

  3. 系统架构技能之设计模式-抽象工厂模式

    一.上篇回顾 上篇我们主要讲述了简单工厂模式和工厂模式.并且分析了每种模式的应用场景和一些优缺点,我们现在来回顾一下: 简单工厂模式:一个工厂负责所有类型对象的创建,不支持无缝的新增新的类型对象的创建 ...

  4. Java设计模式(工厂模式>抽象工厂模式和原型模式)

    Java设计模式Ⅱ 1.工厂模式 1.1 简单工厂模式 1.2 工厂方法模式 2.抽象工厂模式 3.总结 4.原型模式 4.1 原型模式 4.2 浅拷贝 4.3 深拷贝 5.建造者模式 1.工厂模式 ...

  5. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

  6. 策略模式和工厂模式的区别_设计模式之工厂模式-工厂方法模式

    设计模式之工厂模式-工厂方法模式 大家好,欢迎来到污污弹公司,今天司小司又接到了一个新活-披萨项目. 来源:凯哥Java(kaigejava) 需求: 披萨项目: 要方便披萨品种的扩展.要便于维护.要 ...

  7. Java 设计模式之工厂模式(二)

    原文地址:Java 设计模式之工厂模式(二) 博客地址:http://www.extlight.com 一.背景 本篇内容是 Java 设计模式创建型模式的第二篇.上一篇主题为 <Java 设计 ...

  8. 设计模式之工厂模式(三)

    上一次我们已经通过代码,简单的认识了工厂方法模式,具体的思路请移步到设计模式之工厂模式(二),进行查看.这次,让我们通过设计模式的思想,来好好认识下工厂方法模式. 创建者和产品 所有工厂模式都用来封装 ...

  9. php工厂模式和单例模式,php 设计模式之工厂模式、单例模式、注册树模式

    php 设计模式之工厂模式.单例模式.注册树模式 在软件工程中,创建型设计模式承担着对象创建的职责,尝试创建适合程序上下文的对象,对象创建设计模式的产生是由于软件工程设计的问题,具体说是向设计中增加复 ...

  10. 教你如何一篇博客读懂设计模式之—--工厂模式

    一篇博客读懂设计模式之-工厂模式 工厂模式在我们日常开发的时候经常用到,相信大家都有了一定的了解,工厂模式是一种创建对象的设计模式,它提供一种创建对象的最佳方式. 主要过程是: 定义一个创建对象的接口 ...

最新文章

  1. Uva673 平衡的括号
  2. python指定版本 安装模块包
  3. VTK:模型之MarchingSquares
  4. java性能监视_Java 9和应用程序性能监视的激动人心之处
  5. vue根据指令动态改变title名字
  6. 使用火狐浏览器的原因是什么?使用英文版火狐的原因又是什么?
  7. 解决:未能找到 CodeDom 提供程序类型 Microsoft.VJSharp.VJSharpCodeProvider
  8. 【Oracle】解决问题:pl/sql developer 小钥匙图标下拉框中oracle连接串不加粗显示
  9. 【破损识别】基于matlab GUI机器视觉+SVM玉米种子破损识别(带面板)【含Matlab源码 1651期】
  10. 优酷土豆并购是如虎添翼
  11. 网易公司首席执行官 丁磊
  12. 永中Office Linux版
  13. 在线上课中设备突然关机如何关闭直播
  14. kettle简单的更新与插入
  15. 成功三大定律:荷花定律、金蝉定律、竹子定律
  16. openwrt修改默认网关地址_命令下配置ip地址
  17. StrongSwan IKEv2 搭建Linux 与 Cisco的 GRE Tunnel over IPsec IKEv2
  18. DispatcherServlet详细分析
  19. 这个企业邮箱登陆入口更快捷
  20. ip ban linux,在Linux中fail2ban:unban ip如何(使用fail2ban-client)

热门文章

  1. php省市区地址匹配,PHP简单实现正则匹配省市区的方法讲解
  2. jdk1.8 Lambda表达式的使用
  3. FFmpeg获取视频旋转角度rotate获取不到的问题解决
  4. 第一次写正规论文的同学务必分享,排版自动排版,加注释。。。。。。等等!!!!!!!!(copy也得整出档次来啊,这就是门面啊)
  5. Xilinx HLS 导出IP失败的最新解决方案(2022.1.15)
  6. 丢番图(Diophantine)方程MATLAB求解
  7. Windows平台视频显示问题
  8. 判断对象内的 属性是否为空
  9. JVM面试题(含答案和图和解释)
  10. 好几年不更新了,随便聊聊