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

做编程网站有哪些内容网站程序更换

做编程网站有哪些内容,网站程序更换,WordPress自动发英文文章,做网站要求什么软件Java设计模式【工厂模式】 前言 三种工厂模式#xff1a;简单工厂模式、工厂方法模式、抽象工厂模式#xff1b; 创建型设计模式封装对象的创建过程#xff0c;将对象的创建和使用分离开#xff0c;从而提高代码的可维护性和可扩展性 简单工厂模式 概述#xff1a;将…Java设计模式【工厂模式】 前言 三种工厂模式简单工厂模式、工厂方法模式、抽象工厂模式 创建型设计模式封装对象的创建过程将对象的创建和使用分离开从而提高代码的可维护性和可扩展性 简单工厂模式 概述将对象的创建过程封装在一个工厂类中客户端通过工厂类来创建对象。 特点 一个工厂类多个产品类添加新的产品类时就必须修改工厂类的代码这违反了开闭原则 package com.qiangesoft.design.creational.factory.simple;/*** 简单工厂模式*/ public class SimpleFactory {public static void main(String[] args) {// 奔驰车Car benz CarFactory.buildCar(benz);benz.running();// 宝马车Car bmw CarFactory.buildCar(bmw);bmw.running();// 奥迪车Car audi CarFactory.buildCar(audi);audi.running();} }/*** 1.工厂类*/ class CarFactory {public static Car buildCar(String type) {if (benz.equals(type)) {return new Benz();} else if (bmw.equals(type)) {return new BMW();} else if (audi.equals(type)) {return new Audi();} else {throw new IllegalArgumentException(Illegal argument for type: type);}} }/*** 2.抽象产品接口*/ interface Car {void running(); }/*** 3.产品实现类* 奔驰、宝马、奥迪*/ class Benz implements Car {Overridepublic void running() {System.out.println(奔驰车在路上跑);} }class BMW implements Car {Overridepublic void running() {System.out.println(宝马车在路上跑);} }class Audi implements Car {Overridepublic void running() {System.out.println(奥迪车在路上跑);} }工厂方法模式 概述定义一个工厂接口和多个具体工厂类来实现对象的创建。每个具体工厂类都实现了工厂接口并负责创建一类产品对象。 特点 一个工厂接口多个具体工厂类具体的产品类和工厂类都可以在运行时动态切换符合开闭原则 package com.qiangesoft.design.creational.factory.method;/*** 工厂方法模式*/ public class FactoryMethod {public static void main(String[] args) {// 奔驰车CarFactory benzFactory new BenzFactory();Car benzCar benzFactory.buildCar();benzCar.running();// 宝马车CarFactory bmwFactory new BMWFactory();Car bmwCar bmwFactory.buildCar();bmwCar.running();// 奥迪车CarFactory audiFactory new AudiFactory();Car audiCar audiFactory.buildCar();audiCar.running();} }/*** 1.抽象工厂接口*/ interface CarFactory {Car buildCar(); }/*** 2.工厂实现类* 奔驰工厂、宝马工厂、奥迪工厂*/ class BenzFactory implements CarFactory {Overridepublic Car buildCar() {return new Benz();} }class BMWFactory implements CarFactory {Overridepublic Car buildCar() {return new BMW();} }class AudiFactory implements CarFactory {Overridepublic Car buildCar() {return new BMW();} }/*** 3.抽象产品接口*/ interface Car {void running(); }/*** 4.产品实现类* 奔驰、宝马、奥迪*/ class Benz implements Car {Overridepublic void running() {System.out.println(奔驰车在路上跑);} }class BMW implements Car {Overridepublic void running() {System.out.println(宝马车在路上跑);} }class Audi implements Car {Overridepublic void running() {System.out.println(奥迪车在路上跑);} }抽象工厂模式 概述工厂方法模式的升级版它定义了多个工厂接口和多个产品族接口每个工厂接口负责创建一类产品族对象每个产品族接口负责定义一类产品对象。具体工厂类实现工厂接口并负责创建一类产品族对象具体产品类实现产品族接口并负责创建一类产品对象。 特点 多个工厂接口多个产品族接口具体的产品族和工厂类都可以在运行时动态切换符合开闭原则 package com.qiangesoft.design.creational.factory.abstractf;/*** 抽象工厂模式*/ public class AbstractFactory {public static void main(String[] args) {// 奔驰车CarFactory benzFactory new BenzFactory();Engine benzEngine benzFactory.createEngine();Transmission benzTransmission benzFactory.createTransmission();System.out.println(奔驰汽车 benzEngine.getName() benzTransmission.getName());// 宝马车CarFactory bmwFactory new BMWFactory();Engine bmwEngine bmwFactory.createEngine();Transmission bmwTransmission bmwFactory.createTransmission();System.out.println(宝马汽车 bmwEngine.getName() bmwTransmission.getName());// 奥迪车CarFactory audiFactory new AudiFactory();Engine audiEngine audiFactory.createEngine();Transmission audiTransmission audiFactory.createTransmission();System.out.println(奥迪汽车 audiEngine.getName() audiTransmission.getName());} }/*** 1.抽象工厂接口*/ interface CarFactory {Engine createEngine();Transmission createTransmission(); }/*** 2.具体工厂类* 奔驰工厂、宝马工厂、奥迪工厂*/ class BenzFactory implements CarFactory {Overridepublic Engine createEngine() {return new BenzEngine();}Overridepublic Transmission createTransmission() {return new BenzTransmission();} }class BMWFactory implements CarFactory {Overridepublic Engine createEngine() {return new BMWEngine();}Overridepublic Transmission createTransmission() {return new BmwTransmission();} }class AudiFactory implements CarFactory {Overridepublic Engine createEngine() {return new AudiEngine();}Overridepublic Transmission createTransmission() {return new AudiTransmission();} }/*** 3.产品接口1发动机*/ interface Engine {String getName(); }/*** 4.产品实现类1发动机*/ class BenzEngine implements Engine {Overridepublic String getName() {return 奔驰发动机;} }class BMWEngine implements Engine {Overridepublic String getName() {return 宝马发动机;} }class AudiEngine implements Engine {Overridepublic String getName() {return 奥迪发动机;} }/*** 5.产品接口2变速箱*/ interface Transmission {String getName(); }/*** 6.产品实现类2变速箱*/ class BenzTransmission implements Transmission {Overridepublic String getName() {return 奔驰变速箱;} }class BmwTransmission implements Transmission {Overridepublic String getName() {return 宝马变速箱;} }class AudiTransmission implements Transmission {Overridepublic String getName() {return 奥迪变速箱;} }总结 简单工厂模式适用于创建单一类型的产品对象工厂方法模式适用于创建多种类型的产品对象抽象工厂模式适用于创建多个产品族的对象
http://www.hkea.cn/news/14488553/

相关文章:

  • 用织梦系统怎么做网站wordpress分享朋友圈
  • 网站开发托管协议手机网站建设沈阳
  • 汉口专业网站推广公司物流信息平台网站建设
  • 小网站推荐深圳建设监理协会网站
  • 众鱼深圳网站建设长沙有哪些软件公司
  • 多用户建站平台国外创意网站
  • 西宁做网站_君博相约姑苏区最新通告
  • 怎么联网访问自己做的网站百度百科创建
  • 大良网站制作公司深圳平面广告设计公司
  • dede 网站改宽屏代码黄骅港属于哪个市
  • 南京网站开发南京乐识正规阿升网站免费学设计
  • 动画形式的h5在哪个网站做自适应网页设计规范
  • saas建站工具高校网站建设需求单
  • 江西天亿建设有限公司网站做网站公司介绍ppt
  • 山东建设厅造价员网站抖音代运营合同注意事项
  • 重庆王网站制作北京seo网站开发
  • 企业信息网站奉贤做网站价格
  • 宜阳建站如何进行在线营销
  • 网站数据统计广州网站建设案例
  • 诚聘高新网站开发工程师四川省网站备案
  • 网站建设费用有哪些wordpress安装好后怎么使用
  • 贵阳做网站 优帮云郑州做网站公司有多少钱
  • 成都网站建设的公司哪家好72建站网
  • 可以做c语言任务的网站廖珍琴建盏简介
  • 万州医院网站建设微网站 html5
  • 八冶建设集团有限公司网站网站建设企业电话
  • 2003iis网站建设错误2016响应式网站模版
  • wordpress编辑父主题太原优化排名推广
  • 互联网站备案信息中国设计品牌网
  • 维度 网站建设老年夫妻做爰视频网站