知识大全 设计模式(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模式的优点

Factory模式的优点  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    

知识大全 .NET 框架中的 Factory 模式

.NET框架中的Factory模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Factory

知识大全 .NET框架中的Factory模式

.NET框架中的Factory模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Factory

知识大全 使用Factory Method模式

Java深入分析之:使用FactoryMethod模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Factory Method模式在Javamail中的应用

FactoryMethod模式在Javamail中的应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 关于23种设计模式的有趣见解

  创建型模式FACTORY—追MM少不了请吃饭了麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西虽然口味有所不同但不管你带MM去麦当劳或肯德基只管向服务员说来四个鸡翅就行了麦当劳和肯德基就是生产鸡翅的F

知识大全 设计模式在EJB中的应用(下)

设计模式在EJB中的应用(下)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Factory模式

国际上创业板的主要模式

国际上创业板的主要模式1、附属市场模式第二板市场附属于主板市场,和主板市场拥有相同的交易系统;有的和主板市场有相同的监管标准和监察队伍,所不同的只是上市标准的差别。2、独立运作模式第二板市场和主板市场

政府管理的创新模式主要有效率驱动模式、小型化与分权模式、追求卓越模式和__

政府管理的创新模式主要有效率驱动模式、小型化与分权模式、追求卓越模式和_____。A、公共管理市场模式B、公共管理创新模式C、公共服务取向模式D、公共服务购买模式答案:C解析:随着全球化时代的来临,人

知识大全 商业模式和盈利模式有什么区别

商业模式和盈利模式有什么区别????盈利模式指按照利益相关者划分的企业的收入结构、成本结构以及相应的目标利润。商业模式就是你企业或公司是以什么样的方式来盈利和赚钱的。构成赚钱的这些服务和产品的整个体系