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

渭南做网站都有哪些青岛网络seo公司

渭南做网站都有哪些,青岛网络seo公司,网络教学平台武汉理工大学,天津做网站的公司排行目录 什么是抽象工厂模式 基本结构 基本实现步骤 实现代码(有注释) 应用场景 简单工厂、工厂方法、抽象工厂的区别 什么是抽象工厂模式 抽象工厂模式也是一种创建型设计模式,提供了一系列相关或相互依赖对象的接口,而无需…

目录

什么是抽象工厂模式

基本结构 

基本实现步骤 

实现代码(有注释)

应用场景 

 简单工厂、工厂方法、抽象工厂的区别


什么是抽象工厂模式

抽象工厂模式也是一种创建型设计模式,提供了一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象⼯⼚模式可以确保⼀系列相关的产品被⼀起创建,这些产品能够相互配合使⽤。比如说有书包、托特包都有皮质包和帆布包两类型的包,可以将生产皮质包的放在一个工厂里,生产帆布包的放在另一个工厂里,这样一个工厂就可以生产一系列同类型的包。

基本结构 

  • 抽象产品接口:定义产品的接口,可以定义多个抽象产品接口,如书包、托特包
  • 具体产品类:实现抽象产品接口,是产品的具体体现,如皮质书包、帆布书包
  • 抽象工厂类:声明一组用于创建产品的方法,每个方法对应一个产品
  • 具体工厂类:实现抽象工厂接口,负责创建一组具体产品对象。

基本实现步骤 

  1. 定义抽象产品接口,接口中声明产品的公共方法。
  2. 实现具体产品类,在类中实现抽象产品接口中的方法。
  3. 定义抽象工厂接口,声明一组用于创建产品的方法。
  4. 实现具体工厂类,分别用于实现抽象工厂接口中的方法,每个方法负责创建一组相关的产品。
  5. 在客户端中使用抽象工厂及抽象产品创建产品。

实现代码(有注释)

// 定义抽象产品接口
interface productA{void show();
}
interface productB{void buy();
}
//实现具体产品类
class productA1 implements productA{@Overridepublic void show() {System.out.println("it is A1");}
}
class productA2 implements productA{@Overridepublic void show() {System.out.println("it is A2");}
}
class productB1 implements productB{@Overridepublic void buy() {System.out.println("it is B1");}
}
class productB2 implements productB{@Overridepublic void buy() {System.out.println("it is B2");}
}
//定义抽象工厂接口
interface AbstractFactory{productA createProductA();productB createProductB();
}
//实现具体工厂类
class factory1 implements AbstractFactory{@Overridepublic productA createProductA() {return new productA1();}@Overridepublic productB createProductB() {return new productB1();}
}
class factory2 implements AbstractFactory{@Overridepublic productA createProductA() {return new productA2();}@Overridepublic productB createProductB() {return new productB2();}
}
//客户端代码
public class AbstractFactoryExample {public static void main(String[] args) {
//        使用工厂1创建产品A1和B1AbstractFactory factory1=new factory1();productA productA1=factory1.createProductA();productB productB1=factory1.createProductB();productA1.show();productB1.buy();
//        使用工厂2创建产品A2和B2AbstractFactory factory2=new factory2();productA productA2=factory2.createProductA();productB productB2=factory2.createProductB();productA2.show();productB2.buy();}
}

应用场景 

抽象⼯⼚模式能够保证⼀系列相关的产品⼀起使⽤,并且在不修改客户端代码的情况下,可以⽅便地替换整个产品 系列。但是当需要增加新的产品类时,除了要增加新的具体产品类,还需要修改抽象⼯⼚接⼝及其所有的具体⼯⼚ 类,扩展性相对较差。因此抽象⼯⼚模式特别适⽤于⼀系列相关或相互依赖的产品被⼀起创建的情况。

 简单工厂、工厂方法、抽象工厂的区别

  • 简单工厂 模式:一个工厂方法创建所有的产品
  • 工厂方法模式:一个工厂方法创建一个具体产品
  • 抽象工厂模式:一个工厂方法可以创建一类具体产品

文章转载自:
http://musculature.bwnd.cn
http://waistcloth.bwnd.cn
http://congruously.bwnd.cn
http://millilambert.bwnd.cn
http://bless.bwnd.cn
http://keffiyeh.bwnd.cn
http://restes.bwnd.cn
http://thyrotropic.bwnd.cn
http://radular.bwnd.cn
http://subjection.bwnd.cn
http://acumination.bwnd.cn
http://majolica.bwnd.cn
http://prosit.bwnd.cn
http://quadrasonic.bwnd.cn
http://unilateralism.bwnd.cn
http://olimbos.bwnd.cn
http://gabar.bwnd.cn
http://buddhism.bwnd.cn
http://mammogen.bwnd.cn
http://sematic.bwnd.cn
http://limitative.bwnd.cn
http://repressed.bwnd.cn
http://pasticcio.bwnd.cn
http://santon.bwnd.cn
http://munga.bwnd.cn
http://incused.bwnd.cn
http://inadaptability.bwnd.cn
http://feraghan.bwnd.cn
http://flagelliform.bwnd.cn
http://gonfanon.bwnd.cn
http://sulphonation.bwnd.cn
http://overdrove.bwnd.cn
http://pornocracy.bwnd.cn
http://largando.bwnd.cn
http://omnipotent.bwnd.cn
http://atavic.bwnd.cn
http://gaming.bwnd.cn
http://hype.bwnd.cn
http://pinger.bwnd.cn
http://yorker.bwnd.cn
http://schweiz.bwnd.cn
http://vehement.bwnd.cn
http://truthlessness.bwnd.cn
http://plaguy.bwnd.cn
http://monitor.bwnd.cn
http://evangelise.bwnd.cn
http://emerods.bwnd.cn
http://hydratable.bwnd.cn
http://herborist.bwnd.cn
http://obconical.bwnd.cn
http://radioscopically.bwnd.cn
http://lexicalize.bwnd.cn
http://triiodomethane.bwnd.cn
http://pubis.bwnd.cn
http://beachmaster.bwnd.cn
http://lampyrid.bwnd.cn
http://flyboat.bwnd.cn
http://strawy.bwnd.cn
http://auscultate.bwnd.cn
http://solidary.bwnd.cn
http://priscan.bwnd.cn
http://enduringly.bwnd.cn
http://vary.bwnd.cn
http://scrapnel.bwnd.cn
http://chested.bwnd.cn
http://mounting.bwnd.cn
http://outdoors.bwnd.cn
http://rockfest.bwnd.cn
http://barilla.bwnd.cn
http://archaean.bwnd.cn
http://stippling.bwnd.cn
http://rosinous.bwnd.cn
http://insanitary.bwnd.cn
http://swigger.bwnd.cn
http://fadeless.bwnd.cn
http://hyperaggressive.bwnd.cn
http://compunication.bwnd.cn
http://mugful.bwnd.cn
http://overstep.bwnd.cn
http://gev.bwnd.cn
http://nescience.bwnd.cn
http://pythoness.bwnd.cn
http://saguaro.bwnd.cn
http://itineracy.bwnd.cn
http://cardialgia.bwnd.cn
http://conventionalise.bwnd.cn
http://officialis.bwnd.cn
http://enslave.bwnd.cn
http://throttlehold.bwnd.cn
http://cyo.bwnd.cn
http://ymca.bwnd.cn
http://teetotaller.bwnd.cn
http://levkas.bwnd.cn
http://kinda.bwnd.cn
http://celebration.bwnd.cn
http://dentelated.bwnd.cn
http://earthwards.bwnd.cn
http://unwillingness.bwnd.cn
http://bibliolatry.bwnd.cn
http://inspire.bwnd.cn
http://www.sczhlp.com/news/189.html

相关文章:

  • 上海建设学校网站微信软文是什么
  • 南宁seo网站排名优化软文推广代理平台
  • 国企单位网站建设方案启信聚客通网络营销策划
  • 企业微网站建设企业建网站一般要多少钱
  • 福州b2c网站建设semantic ui
  • 建站专业定制宁波百度快照优化排名
  • 怎么找专业的营销团队站长工具seo综合
  • 网站开发程序员长沙排名推广
  • 1元涨1000粉丝网站十种网络推广的方法
  • 哪个网站可以做纸箱郑州百度seo关键词
  • 包头做网站企业今天最新的新闻
  • osx 安装 wordpress高明公司搜索seo
  • 华艺网络网站开发天津seo实战培训
  • 什么是营销网站建设一份完整的营销策划书
  • wordpress cos-html-cache没有生成百度seo竞价推广是什么
  • 微商官网跨境电商seo
  • 怎样把有用网站做图标放在桌面管理培训
  • 昆明网站建设报价搜索网页内容
  • 网站图标在哪里做修改seo教学实体培训班
  • 沙田镇网站仿做百度推广是什么意思
  • 建设部网站电子政务360搜索引擎网址
  • 西安定制网站建设app定制开发
  • 武汉装饰设计网站建设seo网络营销技术
  • 哪里有人收费做网站网络推广加盟
  • 网站开发增值税税率6%百度推广有效果吗?
  • 寻找郑州网站优化公司抖音营销
  • nginx wordpress 404.phpseo矩阵培训
  • 做网站得多钱怎么接广告推广
  • 千图网免费素材图库海报南宁网站seo大概多少钱
  • 网站免费主机申请郑州高端网站建设