当前位置: 首页 > news >正文

网站加速工具网络营销应用

网站加速工具,网络营销应用,外链建设对网站的影响,南宁公司的网站建设抽象工厂和工厂方法示例本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中#xff0c;您将深入研究大量的设计模式#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查… 抽象工厂和工厂方法示例 本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中您将深入研究大量的设计模式并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因并了解何时以及如何应用模式中的每一个。 在这里查看 目录 1.简介 2.什么是工厂方法模式 3.实施工厂方法模式 4.何时使用工厂方法模式 5. JDK中的工厂方法模式 6.下载源代码 1.简介 在当今的现代世界中每个人都在使用软件来促进其工作。 最近一家产品公司改变了他们过去从客户那里接订单的方式。 该公司现在正在寻找使用应用程序从他们那里接订单的方法。 他们以XML格式接收订单订单错误对先前订单的反馈以及对订单的响应。 该公司已要求您开发一个应用程序以解析XML并将结果显示给他们。 您面临的主要挑战是解析XML并将其内容显示给用户。 根据公司从客户那里收到的消息的不同类型有不同的XML格式。 例如与响应或错误XML相比订单类型XML具有不同的xml标签集。 但是核心工作是相同的。 也就是说向用户显示这些XML中携带的消息。 尽管核心工作是相同的但是根据应用程序从用户那里获得的XML类型将使用的对象也有所不同。 因此一个应用程序对象可能只知道它需要从类层次结构不同解析器的层次结构中访问一个类但不确切知道要从父类的子类集合中选择哪个类。 在这种情况下最好提供一个工厂即一个创建解析器的工厂并根据应用程序从用户那里接收到的XML的类型在运行时实例化解析器来完成这项工作。 适合这种情况的工厂方法模式定义了一个用于创建对象的接口但是让子类决定要实例化哪个类。 Factory Method使类将实例化延迟到子类。 让我们看到有关Factory Method Pattern的更多详细信息然后将使用它来为应用程序实现XML解析器。 2.什么是工厂方法模式 工厂方法模式为我们提供了一种封装具体类型的实例的方法。 Factory Method模式在称为工厂方法的指定方法内封装了选择和实例化适当类所需的功能。 工厂方法根据应用程序上下文和其他影响因素从类层次结构中选择适当的类。 然后它实例化选定的类并将其作为父类类型的实例返回。 这种方法的优点是应用程序对象可以利用工厂方法来访问适当的类实例。 这消除了应用程序对象处理各种类选择标准的需要。 图1 产品 定义工厂方法创建的对象的接口。 混凝土产品 实现产品接口。 创作者 声明工厂方法该方法返回产品类型的对象。 创建者还可以定义工厂方法的默认实现该方法返回默认的ConcreteProduct对象。 可以调用工厂方法来创建一个Product对象。 ConcreteCreator 重写factory方法以返回ConcreteProduct的实例。 工厂方法消除了将特定于应用程序的类绑定到代码中的需要。 该代码仅处理Product接口 因此它可以与任何用户定义的ConcreteProduct类一起使用。 3.实施工厂方法模式 为了实现如上所述的应用程序解决方案让我们首先检查一下我们拥有的产品。 package com.javacodegeeks.patterns.factorymethodpattern;public interface XMLParser {public String parse();} 上面的接口将由不同的XML解析器使用。 package com.javacodegeeks.patterns.factorymethodpattern;public class ErrorXMLParser implements XMLParser{Overridepublic String parse() {System.out.println(Parsing error XML...);return Error XML Message;}} ErrorXMLParser实现XMLParser 并用于解析错误消息XML。 package com.javacodegeeks.patterns.factorymethodpattern;public class FeedbackXML implements XMLParser{Overridepublic String parse() {System.out.println(Parsing feedback XML...);return Feedback XML Message;}} 上面的类用于解析反馈消息XML。 其他XML解析器是 package com.javacodegeeks.patterns.factorymethodpattern;public class OrderXMLParser implements XMLParser{Overridepublic String parse() {System.out.println(Parsing order XML...);return Order XML Message;}}package com.javacodegeeks.patterns.factorymethodpattern;public class ResponseXMLParser implements XMLParser{Overridepublic String parse() {System.out.println(Parsing response XML...);return Response XML Message;}} 为了显示来自解析器的解析消息创建了一个抽象服务类该类将通过特定于服务即特定于解析器的显示类进行扩展。 package com.javacodegeeks.patterns.factorymethodpattern;public abstract class DisplayService {public void display(){XMLParser parser getParser();String msg parser.parse();System.out.println(msg);}protected abstract XMLParser getParser();} 上面的类用于将XML解析器获取的消息显示给用户。 上面的类是一个抽象类其中包含两个重要的方法。 display方法用于向用户显示消息。 getParser方法是工厂方法由子类实现以实例化解析器对象而display方法使用该方法来解析XML并获取要显示的消息。 下面是实现getParser方法的DisplayService的子类。 package com.javacodegeeks.patterns.factorymethodpattern;public class ErrorXMLDisplayService extends DisplayService{Overridepublic XMLParser getParser() {return new ErrorXMLParser();}}package com.javacodegeeks.patterns.factorymethodpattern;public class FeedbackXMLDisplayService extends DisplayService{Overridepublic XMLParser getParser() {return new FeedbackXML();}}package com.javacodegeeks.patterns.factorymethodpattern;public class OrderXMLDisplayService extends DisplayService{Overridepublic XMLParser getParser() {return new OrderXMLParser();}}package com.javacodegeeks.patterns.factorymethodpattern;public class ResponseXMLDisplayService extends DisplayService{Overridepublic XMLParser getParser() {return new ResponseXMLParser();}} 现在让我们测试一下工厂方法。 package com.javacodegeeks.patterns.factorymethodpattern;public class TestFactoryMethodPattern {public static void main(String[] args) {DisplayService service new FeedbackXMLDisplayService();service.display();service new ErrorXMLDisplayService();service.display();service new OrderXMLDisplayService();service.display();service new ResponseXMLDisplayService();service.display();}} 上面的类产生以下输出 Parsing feedback XML... Feedback XML Message Parsing error XML... Error XML Message Parsing order XML... Order XML Message Parsing response XML... Response XML Message 在上面的类中您可以清楚地看到通过让子类实现factory方法可以创建解析器的不同实例这些实例可以根据需要在运行时使用。 4.何时使用工厂方法模式 在以下情况下使用“工厂方法”模式 类无法预期必须创建的对象的类。 一个类希望其子类指定其创建的对象。 类将责任委托给几个帮助程序子类之一并且您想本地化哪个委托程序子类是委托的知识。 5. JDK中的工厂方法模式 以下是JDK中工厂方法模式的用法。 java.util.Calendar#getInstance() java.util.ResourceBundle#getBundle() java.text.NumberFormat#getInstance() java.nio.charset.Charset#forName() java.net.URLStreamHandlerFactory#createURLStreamHandler(String) 根据协议返回单例对象 6.下载源代码 这是有关“工厂方法模式”的课程。 您可以在此处下载源代码 FactoryMethodPattern-项目 翻译自: https://www.javacodegeeks.com/2015/09/factory-method-design-pattern.html抽象工厂和工厂方法示例
http://www.sadfv.cn/news/293100/

相关文章:

  • cute模板wordpress优化大师网页版
  • 网站开发前端兼职响应式网站代理
  • 安康企业网站建设价格网址浏览器
  • 网站登录慢网页制作报价模板
  • 济南网站建设多少费用怎样建立自己的微信公众号
  • 室内设计图网站有哪些廊坊视频优化效果
  • 网站ico如何添加wordpress首页模板修改
  • 东莞好的网页设计培训试听搜索引擎优化的内容包括
  • 潜江建设局网站wordpress多域名绑定域名
  • 网站备案做优惠券印刷电商网站开发
  • 站长之家网站素材股票配资网站建设
  • wordpress主题源代码微信seo什么意思
  • 科技网站建设的调研自己做项目的网站
  • 中国建设银行河南省分行网站做外发的网站
  • seo建站谁家做电商商城网站便宜
  • 国外的贸易网站湘潭大学迎新自助网站
  • 网站建设好处zu97网站建设常用英语
  • wordpress网站域名服务器常州网站建设企业网站制作
  • 鹤壁网站优化网站程序前台
  • 做网站生意买螃蟹域名没备案wordpress不能编辑文章
  • wordpress编辑文章手机版seo专员工资是固定的吗
  • 网站制作建设飞沐网站开发定位
  • 有哪些网站结构是不合理的手机端网页模板免费
  • 商城网站怎么做优化佛山网约车租赁公司
  • 常州手机网站开发广告设计属于什么学类
  • 淡水网站建设申请注册公司需要什么材料
  • 淄博网站开发找网泰移动互联网营销的目标是( )
  • 不用fash做的视频网站大连网站公司
  • 苏州网站seo优化wordpress v电影
  • 网站建设首选原创先锋wordpress商店页面