看例子

1.TV产品接口,负责播放

public interface TV // TV接口

{

public void play();

}

2.TV工厂接口,负责生产产品

public interface TVFactory // TV接口工厂

{

public TV produceTV();

}

3.TV具体产品类,海尔,海信

public class HaierTV implements TV

{

public void play()

{

System.out.println("海尔电视机播放中......");

}

}

public class HisenseTV implements TV

{

public void play()

{

System.out.println("海信电视机播放中......");

}

}

4.TV具体工厂类

public class HaierTVFactory implements TVFactory

{

public TV produceTV()

{

System.out.println("海尔电视机工厂生产海尔电视机。");

return new HaierTV();

}

}

public class HisenseTVFactory implements TVFactory

{

public TV produceTV()

{

System.out.println("海信电视机工厂生产海信电视机。");

return new HisenseTV();

}

}

5.配置config.xml

HisenseTVFactory

6.读取配置文件类

import javax.xml.parsers.*; // 引入xml

import org.w3c.dom.*; // 引入dom支持

import org.xml.sax.SAXException;

import java.io.*; // 引入io支持

public class XMLUtil {

//该方法用于从XML配置文件中提取具体类类名,并返回一个实例对象

public static Object getBean() {

try {

//创建文档对象

DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = dFactory.newDocumentBuilder();

Document doc;

doc = builder.parse(new File("./src/config.xml"));

//获取包含类名的文本节点

NodeList nl = doc.getElementsByTagName("className");

Node classNode = nl.item(0).getFirstChild();

String cName = classNode.getNodeValue();

//通过类名生成实例对象并将其返回

Class c = Class.forName(cName);

Object obj = c.newInstance();

return obj;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

}

6.客户端

public class Client

{

public static void main(String args[])

{

try

{

TV tv; // 定义tv对象

TVFactory factory; // 定义工厂

factory=(TVFactory)XMLUtil.getBean(); // 强制转化,魔术处理

tv=factory.produceTV(); // 创建电视对象

tv.play(); // 播放电视

}

catch(Exception e)

{

System.out.println(e.getMessage());

}

}

}

目录结构如下

海信JAVA开发笔试题_JAVA设计模式之【工厂方法模式】相关推荐

  1. java工厂方法_Java设计模式之工厂方法模式

    2.工厂方法模式 <设计模式之禅>中用神话故事女娲造人来比概述工厂方法模式. 女娲采集黄土捏成人的形状,然后放到八卦炉中烧制,最后放置到大地上生长,工艺过程是没有错的,但是意外随时都会发生 ...

  2. 一文叫你弄懂Java设计模式之工厂方法模式:图解+日志记录器代码实例

    文章目录 详解Java设计模式之工厂方法模式 案例引入工厂方法模式 工厂方法模式 定义 案例分析 UML类图分析 代码分析 工厂方法的重载 工厂方法的隐藏 模式优点 模式缺点 模式适用环境 详解Jav ...

  3. 设计模式:工厂方法模式(Factory method)

    设计模式:工厂方法模式(Factory method) 一.问题 在前一章中通过披萨的实例介绍了简单工厂模式.在披萨实例中,如果我想根据地域的不同生产出不同口味的披萨,如纽约口味披萨,芝加哥口味披萨. ...

  4. 设计模式之工厂方法模式(创建型)

    一.模式定义 工厂方法模式:又称工厂模式,也叫虚拟构造器模式,属于构建型设计模式,工厂方法模式是在简单工厂模式上进行拓展,生产产品的过程由具体工厂类实现,基类只实现接口,这使得工厂方法模式可以在不修改 ...

  5. 【设计模式】工厂方法模式(C#)

    [设计模式]工厂方法模式 1.概述 针对简单工厂中的缺点,使用工厂方法模式就可以完美的解决,完全遵循开闭原则. 定义一个用于创建对象的接口,让子类决定实例化哪个产品类对象.工厂方法使一个产品类的实例化 ...

  6. python类是实例的工厂_Python设计模式之工厂方法模式实例详解

    本文实例讲述了Python设计模式之工厂方法模式.分享给大家供大家参考,具体如下: 工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类, ...

  7. 设计模式复习-工厂方法模式

     设计模式复习-工厂方法模式 相对于简单工厂,工厂方法是把算法类的实例化延迟到了调用者那去做,调用者根据自己的需要,自己实例化相关的工厂并且生产相关算法.这么做是因为简单工厂是不满足OCP的,因为如果 ...

  8. C#设计模式(3)——工厂方法模式

    一.引言 在简单工厂模式中讲到简单工厂模式的缺点,有一点是--简单工厂模式系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样就会造成简单工厂的实现逻辑过于复杂,然而本专题介绍的工厂方法模式可以 ...

  9. 设计模式之工厂方法模式应用例题

    设计模式之工厂方法模式应用例题 题目描述 类结构图及相关说明 程序代码 运行结果 题目描述 现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReade ...

最新文章

  1. python界面不同按钮实现不同功能-三、PyQt5不同方法创建菜单栏、工具栏和状态栏...
  2. 天翼云从业认证课后习题(第四章云场景化解决方案综合应用)
  3. Request_获取请求头数据
  4. SpringBoot2.1.9 分布式锁ShedLock不执行坑
  5. 在c语言程序中无论是整数还是实数,C语言基础题及参考答案
  6. Centos 的安装(2)
  7. java-pdf转word,java开发面试笔试题
  8. .net 中应用 ValidationAttribute
  9. 自己动手写Docker系列 -- 4.3实现volume数据卷
  10. 法拉利等12家车厂 将与苹果手机联网(图)
  11. 利用Blob进行文件上传的完整步骤
  12. 设置eMMC和DDR的工作频率
  13. 二元二次拟合 matlab函数
  14. 剑指offer第二版面试题46:把数字翻译成字符串(java)
  15. 华为云k8s环境部署应用
  16. 【概率论】范畴分布 Categorical / Multinoulli Distribution
  17. 数模--2022华中杯A题(Java实现)
  18. Spring-Mybatis整合 第一个Spring-Mybatis程序
  19. 【Mybatis】多表查询(一对多、多对一)
  20. 前端数组如何传到后台

热门文章

  1. Redis列表与集合
  2. JSPServlet(5)——实现简单的留言簿功能
  3. 远程桌面链接怎么用(win10电脑远程桌面连接工具怎么使用)
  4. 源码奉送:宠物小精灵图鉴
  5. java实现图片反色
  6. 计算机网络课程实验4——编程实现路由算法(迪杰斯特拉算法)
  7. createfont
  8. 软件项目报价术语总结(功能点计数元素ILF、EIF、IE、EO、EQ)
  9. Matlab 图像转极坐标系
  10. [转]网站整合Ucenter详细流程