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

建筑人才网官方网站查询高平网站优化公司

建筑人才网官方网站查询,高平网站优化公司,网站建设人员性格,网站前台建设目录 什么是抽象工厂模式 基本结构 基本实现步骤 实现代码(有注释) 应用场景 简单工厂、工厂方法、抽象工厂的区别 什么是抽象工厂模式 抽象工厂模式也是一种创建型设计模式,提供了一系列相关或相互依赖对象的接口,而无需…

目录

什么是抽象工厂模式

基本结构 

基本实现步骤 

实现代码(有注释)

应用场景 

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


什么是抽象工厂模式

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

基本结构 

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

基本实现步骤 

  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://www.hkea.cn/news/668327/

相关文章:

  • 做网站要淘宝热搜关键词排行榜
  • 做网站 创业 流程网络建站流程
  • 怎么做购物网站系统文本广州网络营销推广
  • 网站后台管理系统cms推广seo网站
  • 企业网站备案注销百度推广登陆平台
  • 重庆如何软件网站推广网站优化seo
  • 最专业的佛山网站建设价格3小时百度收录新站方法
  • wordpress门户建站html网页完整代码作业
  • 子域名 做单独的网站广州seo外包公司
  • 凡科建设网站的步骤永久免费无代码开发平台网站
  • 建设一个百度百科类网站网站排名优化的技巧
  • 自己做网站可以吗淄博做网站的公司
  • 个人做健康网站好吗宁波网站制作与推广价格
  • 长沙有哪些做网站的连云港seo优化公司
  • 青羊区定制网站建设报价搜索引擎营销方案
  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程
  • 怎样写企业网站建设方案北京网站seo招聘
  • 做蛋糕视频的网站软文广告范文
  • h5自适应网站模板下载网站换友链平台
  • 政府网站建设及管理规范各大搜索引擎入口
  • poedit pro wordpress免费网站推广优化
  • 市场营销产品推广策划方案seo合作代理
  • 东莞专业网站建设推广搜索引擎网络排名
  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链