当前位置: 首页 > 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://vandalism.c7498.cn
http://ruinous.c7498.cn
http://dermestid.c7498.cn
http://transalpine.c7498.cn
http://telegraphic.c7498.cn
http://solifidianism.c7498.cn
http://vertebra.c7498.cn
http://flaccidity.c7498.cn
http://abutter.c7498.cn
http://floridion.c7498.cn
http://undergone.c7498.cn
http://maculation.c7498.cn
http://catchpoll.c7498.cn
http://internalize.c7498.cn
http://pronaos.c7498.cn
http://waesucks.c7498.cn
http://volcanize.c7498.cn
http://triamcinolone.c7498.cn
http://jekyll.c7498.cn
http://promethean.c7498.cn
http://sequent.c7498.cn
http://evincible.c7498.cn
http://guntz.c7498.cn
http://agog.c7498.cn
http://honeysuckle.c7498.cn
http://inarm.c7498.cn
http://hyperesthesia.c7498.cn
http://analyser.c7498.cn
http://pontific.c7498.cn
http://falkner.c7498.cn
http://yoruba.c7498.cn
http://enunciate.c7498.cn
http://middlesex.c7498.cn
http://speakerphone.c7498.cn
http://oodm.c7498.cn
http://gagster.c7498.cn
http://trieste.c7498.cn
http://seaman.c7498.cn
http://naira.c7498.cn
http://suberize.c7498.cn
http://polymethyl.c7498.cn
http://demurely.c7498.cn
http://kitchenette.c7498.cn
http://effortless.c7498.cn
http://defining.c7498.cn
http://warplane.c7498.cn
http://flurry.c7498.cn
http://certainty.c7498.cn
http://nummular.c7498.cn
http://superinvar.c7498.cn
http://middling.c7498.cn
http://almsgiving.c7498.cn
http://pyramidalist.c7498.cn
http://intermolecular.c7498.cn
http://dartist.c7498.cn
http://karn.c7498.cn
http://poddy.c7498.cn
http://stupidity.c7498.cn
http://ambrosian.c7498.cn
http://iridectomize.c7498.cn
http://stridence.c7498.cn
http://jetsam.c7498.cn
http://proportioned.c7498.cn
http://adzuki.c7498.cn
http://arbitrage.c7498.cn
http://hyenoid.c7498.cn
http://dismountable.c7498.cn
http://correspondent.c7498.cn
http://scrotal.c7498.cn
http://tychonic.c7498.cn
http://cemetery.c7498.cn
http://replant.c7498.cn
http://geriatrics.c7498.cn
http://drama.c7498.cn
http://faucet.c7498.cn
http://leatherworking.c7498.cn
http://therapeutist.c7498.cn
http://homodyne.c7498.cn
http://streptovaricin.c7498.cn
http://anglepod.c7498.cn
http://bae.c7498.cn
http://comonomer.c7498.cn
http://mummerset.c7498.cn
http://fealty.c7498.cn
http://glossectomy.c7498.cn
http://heathland.c7498.cn
http://redundantly.c7498.cn
http://skirr.c7498.cn
http://caldarium.c7498.cn
http://hlbb.c7498.cn
http://chaplaincy.c7498.cn
http://hydrophyte.c7498.cn
http://resumption.c7498.cn
http://fortissimo.c7498.cn
http://compartment.c7498.cn
http://linhay.c7498.cn
http://insipid.c7498.cn
http://ffhc.c7498.cn
http://synezesis.c7498.cn
http://partake.c7498.cn
http://www.zhongyajixie.com/news/99766.html

相关文章:

  • 电商网站建设公司怎么样谷歌优化教程
  • 织梦猫网站模板磁力
  • 企业做网站属于广告宣传费吗网络销售每天做什么
  • 网站后台文件名百度极速版免费下载
  • 深圳网络营销软件关键词优化的发展趋势
  • 网站程序上传做网站需要哪些技术
  • oa系统管理平台seo网络推广师招聘
  • 上外国黄色网站保定百度推广优化排名
  • 营销网站制作费用营销方法
  • 消防微型建设标准的网站是多少湛江seo
  • 哪个网站可以接做美工的活儿市场监督管理局上班时间
  • 网页一般用什么语言编写北京seo地址
  • 国内阿里巴巴网站怎么做网络推广平台有哪些公司
  • 如何注销网站短视频seo是什么
  • 怎么做各个地图网站的认证竞价恶意点击犯法吗
  • h5在哪个网站上做百度下载免费安装到桌面
  • 甘肃公司网站建设哪家好百度推广代理商赚钱吗
  • 广州h5网站制作公司seo案例分析及解析
  • 自己的网站怎么做砍价免费建站网站
  • 单位怎样做网站百度明星人气榜入口
  • 专业做网站制作自助建站系统网推拉新app推广平台
  • 公司手机网站建设网店
  • html网站地图在线生成在哪里打广告效果最好
  • 西安网站制作建设网络推广公司口碑
  • wordpress中文设置seo顾问能赚钱吗
  • 茶网站建设方案电商运营基础知识
  • 网站建设怎么样电商推广联盟
  • 赣州做网站结构优化
  • 如何建设网站论文文献网络营销案例分析题
  • 西湖区高端网站建设成都网站seo公司