Android开发中抽象工厂模式

Android开发中抽象工厂模式

ID:40296291

大小:185.18 KB

页数:11页

时间:2019-07-30

Android开发中抽象工厂模式_第1页
Android开发中抽象工厂模式_第2页
Android开发中抽象工厂模式_第3页
Android开发中抽象工厂模式_第4页
Android开发中抽象工厂模式_第5页
资源描述:

《Android开发中抽象工厂模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模式解读  abstract是“抽象”,factory是“工厂”,所以合起来abstractfactory就是“抽象工厂”的意思。AbstractFactoryPattern中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说,处理的重点是在接口(api)而不是零件的具体实现。只利用接口(API)就能把零件组合成产品。  模板方法模式和生成模式的情形是在子类进行具体的实现,而抽象工厂模式也同样是由子类来处理具体的实现。在子类就会出现具体工厂利用具体零件组合而成的具体产品。  程序示例  本篇涉及的类较多,较之单例模式而言理解

2、真来比较难。一步步来吧。  本例将使用抽象工厂,制作输出一个HTML语言显示在Android的文本上。由于涉及类比较多,先上UML图,再一一解释:  抽象零件:Item类  caption字段是此项目的“标题”。  makeHtml方法是抽象方法,须等待子类进行实现。一旦调用此方法时,其返回值即为HTML字符串(子类要有这样的执行功能)。  代码:  publicabstractclassItem{  protectedStringcaption;    publicItem(Stringcaption){  this.ca

3、ption=caption;  }  publicabstractStringmakeHTML();  }抽象零件:Link类  Link类是以抽象方式表示HTML超链接的类。  url字段用来存储超链网站的URL。该抽象类实现Item抽象类。  代码:  /**  *以抽象方式表示HTML超链接的类  *@authorAdministrator  *  */  publicabstractclassLinkextendsItem{  protectedStringurl;  publicLink(Stringcaption

4、,Stringurl){  super(caption);  //TODOAuto-generatedconstructorstub  this.url=url;  }  }  抽象零件:Tray类  Tray类是表示收集一个以上的Link或Tray类。  Link和Tray则利用add方法把它们找出来。add方法对于“LINK”和“Tray”这部分的表现方式则是将Link和Tray的父类Item设为参数。  Tray类继承了Item类的抽象方法makeHTML,但并未实现。所以Tray类也是抽象类。  代码:  /**  

5、*表示收集一个以上的Link或Tray的类  *@authorAdministrator  *  */  publicabstractclassTrayextendsItem{  protectedVectortray=newVector();  publicTray(Stringcaption){  super(caption);  //TODOAuto-generatedconstructorstub  }  publicvoidadd(Itemitem){  tray.add(item);  }

6、  }  抽象产品:Page类  Page类则是以抽象的方式表现整个HTML网页的类。如果说LINK和TRAY是抽象零件,那么Page类就可以说是抽象的“产品”(负责最终输出HTML)。Title字段是网页的标题,author是网页的作者。最后以OutPut输出数据。  代码:  /**  *以抽象的方式表现整个HTML网页的类  *  *@authorAdministrator  *  */  publicabstractclassPage{  protectedStringtitle;  protectedStringa

7、uthor;  protectedVectorcontent=newVector();  publicPage(Stringtitle,Stringauthor){  this.title=title;  this.author=author;  }  publicvoidadd(Itemitem){  content.add(item);  }  publicStringoutPut(){  StringBuffersb=newStringBuffer();  sb.append(title+".h

8、tml");  sb.append(makeHtml());  returnsb.toString();  }  publicabstractStringmakeHtml();  }  抽象产品参与者规定由抽象工厂参与者所产生的抽象零件和产品的接口(API)。扮演这个参与者的是LINK

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。