知识大全 设计模式(1)Factory模式和Abstract Factory模式
Posted 知
篇首语:志高品高,志下品下。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 设计模式(1)Factory模式和Abstract Factory模式相关的知识,希望对你有一定的参考价值。
设计模式(1)Factory模式和Abstract Factory模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Factory模式 利用给Factory对象传递不同的参数 以返回具有相同基类或实现了同一接口的对象 Abstract Factory模式 先利用Factory模式返回Factory对象 在通过Factory对象返回不同的对象! Java中的例子 JAXP 以下是用Simple API for XML(SAX) Parse XML文件的片段 String uri = file: + new File (xmlfilename) getAbsolutePath (); Parser parser; // Abstract Factory模式 SAXParserFactory spf = SAXParserFactory newInstance (); String validation = System getProperty ( javax xml parsers validation false ); if (validation equalsIgnoreCase( true )) spf setValidating (true); // Factory模式 SAXParser sp = spf newSAXParser (); parser = sp getParser (); parser setDocumentHandler (this); parser parse (uri); SAXParserFactory中的静态方法newInstance()根据系统属性javax xml parsers SAXParserFactory不同的值 生成不同的SAXParserFactory对象spf 然后SAXParserFactory对象又利用方法newSAXParser()生成SAXParser对象 注意 SAXParserFactory 的定义为 public abstract class SAXParserFactory extends java lang Object SAXParserFactoryImpl 的定义为 public class SAXParserFactoryImpl extends javax xml parsers SAXParserFactory public static SAXParserFactory newInstance() String factoryImplName = null; try factoryImplName = System getProperty( javax xml parsers SAXParserFactory sun xml parser SAXParserFactoryImpl ); catch (SecurityException se) factoryImplName = sun xml parser SAXParserFactoryImpl ; SAXParserFactory factoryImpl; try Class clazz = Class forName(factoryImplName); factoryImpl = (SAXParserFactory)clazz newInstance(); catch (ClassNotFoundException cnfe) throw new FactoryConfigurationError(cnfe); catch (IllegalAccessException iae) throw new FactoryConfigurationError(iae); catch (InstantiationException ie) throw new FactoryConfigurationError(ie); return factoryImpl; newSAXParser()方法在SAXParserFactory定义为抽象方法 SAXParserFactoryImpl继承了SAXParserFactory 它实现了方法newSAXParser() public SAXParser newSAXParser() throws SAXException ParserConfigurationException SAXParserImpl saxParserImpl = new SAXParserImpl (this); return saxParserImpl; 注意 SAXParserImpl的定义为 public class SAXParserImpl extends javax xml parsers SAXParser SAXParserImpl的构造函数定义为 SAXParserImpl (SAXParserFactory spf) throws SAXException ParserConfigurationException super(); this spf = spf; if (spf isValidating ()) parser = new ValidatingParser(); validating = true; else parser = new Parser(); if (spf isNamespaceAware ()) namespaceAware = true; throw new ParserConfigurationException ( Namespace not supported by SAXParser ); 本例子中用到的class和interface的类关系图如下 cha138/Article/program/Java/gj/201311/11158相关参考
Factory模式的优点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
.NET框架中的Factory模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Factory
.NET框架中的Factory模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Factory
Java深入分析之:使用FactoryMethod模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 Factory Method模式在Javamail中的应用
FactoryMethod模式在Javamail中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
创建型模式FACTORY—追MM少不了请吃饭了麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西虽然口味有所不同但不管你带MM去麦当劳或肯德基只管向服务员说来四个鸡翅就行了麦当劳和肯德基就是生产鸡翅的F
设计模式在EJB中的应用(下) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Factory模式
国际上创业板的主要模式1、附属市场模式第二板市场附属于主板市场,和主板市场拥有相同的交易系统;有的和主板市场有相同的监管标准和监察队伍,所不同的只是上市标准的差别。2、独立运作模式第二板市场和主板市场
政府管理的创新模式主要有效率驱动模式、小型化与分权模式、追求卓越模式和__
政府管理的创新模式主要有效率驱动模式、小型化与分权模式、追求卓越模式和_____。A、公共管理市场模式B、公共管理创新模式C、公共服务取向模式D、公共服务购买模式答案:C解析:随着全球化时代的来临,人
商业模式和盈利模式有什么区别????盈利模式指按照利益相关者划分的企业的收入结构、成本结构以及相应的目标利润。商业模式就是你企业或公司是以什么样的方式来盈利和赚钱的。构成赚钱的这些服务和产品的整个体系