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

做日用品有什么网站广州网站外包

做日用品有什么网站,广州网站外包,备案 网站建设方案书,做网站与不做网站的区别接java设计模式-工厂模式(上) 抽象工厂模式 针对耳机的生产需求,我们可以知道,刚才的工厂已经不满足了,因为只是生产一类产品-手机,但是现在我们需要的工厂类是要生产一个产品族(手机和耳机&a…

接java设计模式-工厂模式(上)

抽象工厂模式

针对耳机的生产需求,我们可以知道,刚才的工厂已经不满足了,因为只是生产一类产品-手机,但是现在我们需要的工厂类是要生产一个产品族(手机和耳机)。

每个手机产品的耳机要求可以进行变动,可以是无线的,也可以是有线的。

模式结构

  • AbstractFactory(抽象工厂):它声明了一组用于创建一族产品的方法,每一个方法对应一种产品
  • ConcreteFactory(具体工厂):它实现了在抽象工厂中声明的创建产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中。
  • AbstractProduct(抽象产品):它为每种产品声明接口,在抽象产品中声明了产品所具有的业务方法。
  • ConcreteProduct(具体产品):它定义具体工厂生产的具体产品对象,实现抽象产品接口中声明的业务方法。

我们依然保留开始的AbstractPhone类, 以及一加和真我两个具体产品类。(YijiaPhone,ZhenwoPhone)

在此基础上,我们再定义一个耳机的抽象产品类 以及 两个耳机具体产品类(有线,无线)。

/*** 耳机的抽象产品类** @author jiangkd* @date 2023/7/28 15:17:28*/
public abstract class AbstractHeadset {/*** 耳机类型,有线无线*/public abstract void type();/*** 音质*/public abstract void tone();}

两个耳机具体实现类

/*** 耳机具体实现类, 有线耳机** @author jiangkd* @date 2023/7/28 15:19:54*/
@Slf4j
public class YouxianHeadset extends AbstractHeadset {@Overridepublic void type() {log.info("我是有线耳机!!!");}@Overridepublic void tone() {log.info("有线耳机, 音质杠杠的!!!");}
}
/*** 耳机具体实现类, 无线耳机** @author jiangkd* @date 2023/7/28 15:21:14*/
@Slf4j
public class WuxianHeadset extends AbstractHeadset {@Overridepublic void type() {log.info("我是无线耳机!!!");}@Overridepublic void tone() {log.info("无线耳机, 音质妥妥的!!!");}}

定义一个工厂类,用来生产一族产品(手机和耳机)

/*** 抽象工厂类** @author jiangkd* @date 2023/7/28 15:23:13*/
public abstract class AbstractFactory {/*** 生产手机* @return*/public abstract AbstractPhone createPhone();/*** 生产耳机* @return*/public abstract AbstractHeadset createHeadset();}

一加手机的生产实现类,一加手机 + 无线耳机

/*** 一加手机产品族工厂具体实现类** @author jiangkd* @date 2023/7/28 15:34:46*/
public class YijiaFactory extends AbstractFactory {@Overridepublic AbstractPhone createPhone() {return new YijiaPhone();}/*** 一加手机配无线耳机* @return*/@Overridepublic AbstractHeadset createHeadset() {return new WuxianHeadset();}}

然后是真我手机的生产实现类,真我手机 + 有线耳机

/*** 真我手机产品族工厂具体实现类** @author jiangkd* @date 2023/7/28 15:44:17*/
public class ZhenwoFactory extends AbstractFactory {@Overridepublic AbstractPhone createPhone() {return new ZhenwoPhobe();}/*** 有线耳机** @return*/@Overridepublic AbstractHeadset createHeadset() {return new YouxianHeadset();}
}

测试一下

/*** @author jiangkd* @date 2023/7/28 15:45:02*/
@Slf4j
public class DemoTest {public static void main(String[] args) {// 生产 一加手机 + 耳机final AbstractFactory yijiaFactory = new YijiaFactory();final AbstractPhone yijiaPhone = yijiaFactory.createPhone();final AbstractHeadset yijiaHeadset = yijiaFactory.createHeadset();yijiaPhone.brand();yijiaPhone.color();yijiaHeadset.type();yijiaHeadset.tone();log.info("--------------------------------");// 生产 真我手机 + 耳机final AbstractFactory zhenwoFactory = new ZhenwoFactory();final AbstractPhone zhenwoPhone = zhenwoFactory.createPhone();final AbstractHeadset zhenwoHeadset = zhenwoFactory.createHeadset();zhenwoPhone.brand();zhenwoPhone.color();zhenwoHeadset.type();zhenwoHeadset.tone();}}

执行结果记录日志:

15:50:20.523 [main] INFO demo.basic.example.design_patterns.gcms.YijiaPhone - 品牌, 一加手机!!!
15:50:20.526 [main] INFO demo.basic.example.design_patterns.gcms.YijiaPhone - 黑色!!!
15:50:20.526 [main] INFO demo.basic.example.design_patterns.gcms.cxgcms.WuxianHeadset - 我是无线耳机!!!
15:50:20.526 [main] INFO demo.basic.example.design_patterns.gcms.cxgcms.WuxianHeadset - 无线耳机, 音质妥妥的!!!
15:50:20.526 [main] INFO demo.basic.example.design_patterns.gcms.cxgcms.DemoTest - --------------------------------
15:50:20.527 [main] INFO demo.basic.example.design_patterns.gcms.ZhenwoPhobe - 品牌, 真我手机!!!
15:50:20.527 [main] INFO demo.basic.example.design_patterns.gcms.ZhenwoPhobe - 白色!!!
15:50:20.527 [main] INFO demo.basic.example.design_patterns.gcms.cxgcms.YouxianHeadset - 我是有线耳机!!!
15:50:20.527 [main] INFO demo.basic.example.design_patterns.gcms.cxgcms.YouxianHeadset - 有线耳机, 音质杠杠的!!!

http://www.ritt.cn/news/5668.html

相关文章:

  • 保定 网站制作百度自然排名优化
  • 安阳网站建设全网品牌推广
  • 温岭做鞋子的网站在线生成个人网站源码
  • 建立网站步骤百度seo排名优化软件
  • 用vs2010做网站登入网络营销方案设计范文
  • 做素材网站如何赚钱安卓优化神器
  • wordpress相册轮播天津seo方案
  • 沈阳企业自助建站系统周口网站seo
  • 怎么做直播网站的超管海南百度推广电话
  • 网站关于我们怎么做单页面百度上搜索关键词如何在首页
  • 做网站卖设备找哪家好seoul是哪个城市
  • 网站建设商务通什么意思网上推销产品去什么平台
  • 两学一做网站条幅网站优化排名软件哪些最好
  • 58网站怎么做优化一个新产品怎么推广
  • 哪些网站做写字楼出租网络推广员的日常工作
  • 做网站的集团关键帧
  • 常州网站制作机构网址怎么创建
  • 可以做很多个网站然后哭推广seo研究中心晴天
  • 企业做网站价钱怎么下载有风险的软件
  • 可以下载新闻视频的网站刷移动关键词优化
  • 织梦企业 网站源码深圳优化seo排名
  • 做网站营销发布文章网址搜索
  • 广德县住房和城乡建设网站社交网络推广方法有哪些
  • wordpress打开网站打不开今日国内新闻热点
  • 做刷机网站赚钱吗搜索引擎是什么意思啊
  • 搭建网站seo恶意点击广告软件
  • xml做web网站网站安全检测工具
  • 温州高端网站定制aso优化排名违法吗
  • 企业网站怎么自适应百度客服24小时电话
  • 网站做图片如何在百度发布短视频