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

网站建设 跑业务软文发布平台与板块

网站建设 跑业务,软文发布平台与板块,做app动态界面的网站有哪些,单位做网站怎么做Abstract Factory(抽象工厂) 前言 创建型: 1.简单工厂 -->> 2.工厂方法 -->> 3.抽象工厂 -->> 4.生成器 -->> 5.原生 -->> 6.单例 1,接着23种设计模式,创建型模式的抽象工厂开始讲解 …

Abstract Factory(抽象工厂)

前言

创建型
1.简单工厂 -->> 2.工厂方法 -->> 3.抽象工厂 -->> 4.生成器 -->> 5.原生 -->> 6.单例
1,接着23种设计模式,创建型模式的抽象工厂开始讲解
2,用自己的话理解是:抽象工厂【是生产一类产品或一系列相关的工厂,不需要指定具体的类】,比如手机工厂:小米手机工厂、华为手机工厂、OPPO手机工厂…
3.摘要:
本文介绍了抽象工厂模式(Abstract Factory),它是一种创建型设计模式,提供了一种创建一系列相关对象的接口而无需指定具体类。文章通过手机工厂示例进行说明,展示小米和华为两个工厂分别生产不同类型产品(屏幕、芯片、键盘等)的实现过程。代码演示了如何定义抽象工厂接口、具体工厂类和产品类,并展示了运行结果。该模式适用于需要创建产品族且不依赖具体产品类的情况,能够提高系统的灵活性和可扩展性。

1)意图

提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。

2)结构

在这里插入图片描述

代码如下:

/*** 抽象工厂demo*/
public class AbstractFactory {public static void main(String[] args) {// 小米生产线 开始制造System.out.println("小米生产线 开始制造-------------------------");Factory factory1 = new ConcreteFactory1();factory1.createProductA().info();factory1.createProductB().info();System.out.println("------------------分界线----------------------");// 华为生产线 继续开始制造System.out.println("华为生产线 继续开始制造-------------------------");Factory factory2 = new ConcreteFactory2();factory2.createProductA().info();factory2.createProductB().info();}}interface Factory{// 小米手机生产线ProductA createProductA();// 华为电脑生产线ProductB createProductB();
}/*** 华为电脑工厂*/
class ConcreteFactory2 implements Factory{@Overridepublic ProductA createProductA() {return new ProductA2();}@Overridepublic ProductB createProductB() {return new ProductB2();}
}/*** 小米手机工厂*/
class ConcreteFactory1 implements Factory{@Overridepublic ProductA createProductA() {return new ProductA1();}@Overridepublic ProductB createProductB() {return new ProductB1();}
}/*** 为一类产品声明一个接口 比如小米手机生产线*/
interface ProductA{void info();
}/*** 为另一类产品声明一个接口 比如华为手机生产线*/
interface ProductB{void info();
}class ProductB2 implements ProductB{@Overridepublic void info() {System.out.println("产品 B2 华为电脑显示器");}
}class ProductB1 implements ProductB{@Overridepublic void info() {System.out.println("产品 B1 小米芯片");}
}class ProductA1 implements ProductA{@Overridepublic void info() {System.out.println("产品 A1 小米屏幕");}
}class ProductA2 implements ProductA{@Overridepublic void info() {System.out.println("产品 A2 华为笔记本键盘");}
}

运行结果:如下
在这里插入图片描述
喜欢我的文章记得点个在看,或者点赞,持续更新中ing…

http://www.dtcms.com/wzjs/40408.html

相关文章:

  • 企业手机网站建设联系方式小程序开发公司排行榜
  • 青岛做网站费用今日时政新闻
  • 银行 网站开发 干什么专业关键词排名软件
  • 网络营销外包公司招聘seo优化主要做什么
  • 网站建设的经验总结连云港网站seo
  • 各大网站开发的区块链关键词排名优化价格
  • 网站开发的开发意义关键词营销推广
  • 杭州建设网站制作搭建网站步骤
  • 武汉网站备案seo网站关键词优化怎么做
  • 做视频网站程序多少钱百度一下你就知道主页
  • 帮人做违法网站百度竞价排名黑幕
  • 北京网站制作业务如何开展海口seo计费
  • 在相亲网站认识了一个做红酒生意的移动端seo关键词优化
  • 宁波建网站外包推广关键词如何优化
  • 广东建设信息网站首页6最新中高风险地区名单
  • 做化工的外贸网站都有什么意思长沙seo推广公司
  • 成都画时网站建设谷歌外链
  • wordpress 众筹网站模板百度知道登录入口
  • 网站需要服务器吗?网站运营是做什么的
  • 网站模块图片尺寸百度网盘怎么找资源
  • 武汉免费做网站新闻摘抄四年级下册
  • 建设企业网站可信度windows优化大师如何卸载
  • 潍坊制作网站软件十大免费软文推广平台
  • 网站建设教程下载软文撰写
  • 绵阳网站建设联系电话seo免费教程
  • 两人做性视频网站优化大师是什么意思
  • 厦门电商网站开发推广价格一般多少
  • 企业网站用什么建站最快优化师培训机构
  • 企业手机网站建设渠道小白如何学电商运营
  • wordpress注册密码忘记网络优化的流程