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

视觉差网站插件免费网站制作 优帮云

视觉差网站插件,免费网站制作 优帮云,做网站的公司哪家强,全国中高风险地区最新名单抽象工厂模式 工厂方法模式中考虑的是一类产品的生产#xff0c;如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。 同种类称为同等级#xff0c;也就是说#xff1a;工厂方法模式中只考虑生产同等级的产品#xff0c;但是在现实生…抽象工厂模式 工厂方法模式中考虑的是一类产品的生产如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。 同种类称为同等级也就是说工厂方法模式中只考虑生产同等级的产品但是在现实生活中许多工厂是综合型的工厂能生产多等级种类 的产品如农场里既养动物又种植物电器厂既生产电视机又生产洗衣机或空调大学既有软件专业又有生物专业等。 然而抽象工厂模式将考虑多等级产品的生产将同一个具体工厂所生产的位于不同等级的一组产品称为一个产品族图 1 所示的是海尔工厂和 TCL 工厂所生产的电视机与空调对应的关系图。 图1 电器工厂的产品等级与产品族 抽象工厂模式的定义与特点 抽象工厂AbstractFactory模式的定义是一种为访问类提供一个创建一组相关或相互依赖对象的接口且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。使用抽象工厂模式一般要满足以下条件 可以在类的内部对产品族中相关联的多等级产品共同管理而不必专门引入多个新的类来进行管理。当需要产品族时抽象工厂可以保证客户端始终只使用同一个产品的产品组。抽象工厂增强了程序的可扩展性当增加一个新的产品族时不需要修改原代码满足开闭原则。 缺点当产品族中需要增加一个新的产品时所有的工厂类都需要进行修改。增加了系统的抽象性和理解难度。 抽象工厂模式的结构 抽象工厂模式的主要角色如下。 抽象工厂Abstract Factory提供了创建产品的接口它包含多个创建产品的方法 newProduct()可以创建多个不同等级的产品。 具体工厂Concrete Factory主要是实现抽象工厂中的多个抽象方法完成具体产品的创建。 抽象产品Product定义了产品的规范描述了产品的主要特性和功能抽象工厂模式有多个抽象产品。 具体产品ConcreteProduct实现了抽象产品角色所定义的接口由具体工厂来创建它同具体工厂之间是多对一的关系。 抽象工厂模式的主要角色如下。 图2 抽象工厂模式的结构图 抽象工厂模式的适用场景 1. 当需要将请求的发送者和接收者解耦时可以考虑使用抽象模式。 2. 当存在多个对象可以处理同一个请求时可以考虑使用抽象模式。 3. 当需要动态地指定可以处理请求的对象时可以考虑使用抽象模式。 简单的代码实现 // 抽象产品接口操作系统 interface OperatingSystem {void run(); }// 具体产品Windows操作系统 class WindowsOS implements OperatingSystem {Overridepublic void run() {System.out.println(Running Windows OS);} }// 具体产品Linux操作系统 class LinuxOS implements OperatingSystem {Overridepublic void run() {System.out.println(Running Linux OS);} }// 抽象产品接口应用程序 interface Application {void open(); }// 具体产品Word应用程序 class WordApplication implements Application {Overridepublic void open() {System.out.println(Opening Word Application);} }// 具体产品Excel应用程序 class ExcelApplication implements Application {Overridepublic void open() {System.out.println(Opening Excel Application);} }// 抽象工厂接口 interface SoftwareFactory {OperatingSystem createOperatingSystem();Application createApplication(); }// 具体工厂Windows工厂 class WindowsFactory implements SoftwareFactory {Overridepublic OperatingSystem createOperatingSystem() {return new WindowsOS();}Overridepublic Application createApplication() {return new ExcelApplication();} }// 具体工厂Linux工厂 class LinuxFactory implements SoftwareFactory {Overridepublic OperatingSystem createOperatingSystem() {return new LinuxOS();}Overridepublic Application createApplication() {return new WordApplication();} }// 抽象工厂模式通过SoftwareFactory接口和其实现类来创建不同类型的操作系统和应用程序。 // 客户端代码可以根据需要选择不同的工厂实例来创建不同的产品组合。 public class Client {public static void main(String[] args) {SoftwareFactory windowsFactory new WindowsFactory();OperatingSystem windowsOS windowsFactory.createOperatingSystem();Application windowsApp windowsFactory.createApplication();windowsOS.run();windowsApp.open();SoftwareFactory linuxFactory new LinuxFactory();OperatingSystem linuxOS linuxFactory.createOperatingSystem();Application linuxApp linuxFactory.createApplication();linuxOS.run();linuxApp.open();} }
http://www.hkea.cn/news/14361546/

相关文章:

  • 小说网站建设如何看出网站用的是什么cms程序
  • 哪个公司做的网站好做个公司网站要多少钱
  • 新东方广州门户网站湖州做网站建设的公司哪家好
  • 安徽省建设业协会网站wordpress搜索文章内容
  • 摄影网站建设的功能有哪些热 综合-网站正在建设中
  • 五华网站建设网站启动画面
  • 上海网站建站建设服务网站流量渠道
  • 网站上传虚拟主机公司申请邮箱怎么申请
  • 苏州建设工程检测协会网站网站设计资源
  • 在网站里文本链接怎么做企业网站html百度云
  • wordpress仿站插件数据中台厂商
  • 建设淘宝网站的人员组织结构wordpress主题修改图片
  • 南通市住房城乡建设局网站36优化大师下载安装
  • 网站后台统计wordpress网站存放在
  • 学校网站建设怎么样新手怎么做跨境电商
  • 宜都网站制作以公司做网站
  • 建站系统主要包括品牌seo公司
  • appstore应用商店小程序排名优化
  • 电子商务网站开发的基本流程包括wordpress淘宝客主题下载
  • 安阳工学院图书馆找做网站的书在哪东海县建网站
  • 宁夏企业网站建设保定市建设局安监网站
  • php做不了大型网站吗wordpress破解主题
  • 做明星同款的网站福州免费企业建站
  • 新网站怎样做推广wordpress 侧栏加flash
  • 黄页88网推广服务免费搜索引擎优化名词解释
  • 贵州网站推广公司洱源县建设局门户网站
  • 在线做图表的网站河北网络公司招聘
  • 网站建设明薇通网络价格美丽wordpress 更新后编辑器变了
  • 建站平台和网站建设的区别最新新闻热点事件及评论
  • 网站开发和前端是一样吗莆田哪里有网站开发