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

哪个网站可以做设计比赛莱芜网站优化加徽信xiala5效果好

哪个网站可以做设计比赛,莱芜网站优化加徽信xiala5效果好,外链推广论坛,阿里去要企业网站建设方案书工厂模式的目的就是将对象的创建过程隐藏起来#xff0c;从而达到很高的灵活性#xff0c;工厂模式分为三类#xff1a; 简单工厂模式工厂方法模式抽象工厂模式 在没有工厂模式的时候就是#xff0c;客户需要一辆马车#xff0c;需要客户亲自去创建一辆马车#xff0c;…工厂模式的目的就是将对象的创建过程隐藏起来从而达到很高的灵活性工厂模式分为三类 简单工厂模式工厂方法模式抽象工厂模式 在没有工厂模式的时候就是客户需要一辆马车需要客户亲自去创建一辆马车然后拿来用。 在简单工厂模式下客户可以通过工厂获得一辆马车需要下单后告诉马车的型号然后工厂可以根据型号创建马车。在工厂方法模式下客户想要一辆马车需要指明型号创建。比如325i的bmw,和530li,根据各自325i的工厂和530li的工厂创建每个工厂创建一个系列。即具体的工厂只能创建出一个具体的产品。在抽象工厂模式下客户想要一辆带空调的宝马车于是开始创建带空调的宝马车不需要自己创建安装。 不适用工厂模式 如果不使用工厂用户将自己创建宝马车具体UML图和代码如下 public class BMW320 {public BMW320(){System.out.println(制造--BMW320);} }public class BMW523 {public BMW523(){System.out.println(制造--BMW523);} }public class Customer {public static void main(String[] args) {BMW320 bmw320 new BMW320();BMW523 bmw523 new BMW523();} } 用户需要知道怎么创建一款车这样子客户和车就紧密耦合在一起了为了降低耦合就出现了简单工厂模式把创建宝马的操作细节都放到了工厂里而客户直接使用工厂的创建方法传入想要的宝马车型号就行了而不必去知道创建的细节。 简单工厂模式 核心是创建一个对象的接口然后根据接口创建具体的实现将创建与本身的业务逻辑分开降低耦合度。 1.UML图 工厂类角色 该模式的核心用来创建产品含有一定的商业逻辑和判断逻辑 抽象产品角色它一般是具体产品继承的父类或者实现的接口。 具体产品角色工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。 2.代码实现 产品类 abstract class BMW {public BMW(){} }public class BMW320 extends BMW {public BMW320() {System.out.println(制造--BMW320);} } public class BMW523 extends BMW{public BMW523(){System.out.println(制造--BMW523);} } 工厂类 public class Factory {public BMW createBMW(int type) {switch (type) {case 320:return new BMW320();case 523:return new BMW523();default:break;}return null;} } 用户类 public class Customer {public static void main(String[] args) {Factory factory new Factory();BMW bmw320 factory.createBMW(320);BMW bmw523 factory.createBMW(523);} } 3.优点 简单工厂模式提供了专门的工厂类用于创建对象实现类对象的创建和使用的职责分离客户端不需要知道所创建的具体产品类的类名以及创建过程只需要具体产品所对应的参数即可。通过引入配置文件可以在不修改任何客户端代码的情况下更换和增加新的具体产品类在一定程度上提高了系统的灵活性。 4.缺点 在于不符合“开闭原则”每次添加新产品就需要修改工厂类。在产品类型较多时有可能造成工厂逻辑过于复杂不利于系统的扩展维护并且工厂类集中了所有产品创建逻辑一旦不能正常工作整个系统都要受到影响。 为了解决简单工厂模式的问题出现了工厂方法模式。 工厂模式 工厂方法模式将工厂抽象化并定义一个创建对象的接口。每增加新产品只需增加该产品以及对应的具体实现工厂类由具体工厂类决定要实例化的产品是哪个将对象的创建与实例化延迟到子类这样工厂的设计就符合“开闭原则”了扩展时不必去修改原来的代码。在使用时用于只需知道产品对应的具体工厂不需要关注具体的创建过程甚至不需要知道具体产品类的类名当我们选择哪个具体工厂时就已经决定了实际创建的产品是哪个了。 但缺点在于每增加一个产品都需要增加一个具体产品类和实现工厂类使得系统中类的个数成倍增加在一定程度上增加了系统的复杂度同时也增加了系统具体类的依赖。 1.UML图 抽象工厂 AbstractFactory 工厂方法模式的核心是具体工厂角色必须实现的接口或者必须继承的父类在 Java 中它由抽象类或者接口来实现。具体工厂 Factory被应用程序调用以创建具体产品的对象含有和具体业务逻辑有关的代码抽象产品 AbstractProduct是具体产品继承的父类或实现的接口在 Java 中一般有抽象类或者接口来实现。 具体产品 Product具体工厂角色所创建的对象就是此角色的实例。代码实现 产品类 abstract class BMW {public BMW(){} } public class BMW320 extends BMW {public BMW320() {System.out.println(制造--BMW320);} } public class BMW523 extends BMW{public BMW523(){System.out.println(制造--BMW523);} } 工厂类 interface FactoryBMW {BMW createBMW(); }public class FactoryBMW320 implements FactoryBMW{Overridepublic BMW320 createBMW() {return new BMW320();}} public class FactoryBMW523 implements FactoryBMW {Overridepublic BMW523 createBMW() {return new BMW523();} } 用户类 public class Customer {public static void main(String[] args) {FactoryBMW320 factoryBMW320 new FactoryBMW320();BMW320 bmw320 factoryBMW320.createBMW();FactoryBMW523 factoryBMW523 new FactoryBMW523();BMW523 bmw523 factoryBMW523.createBMW();} }
http://www.hkea.cn/news/14543964/

相关文章:

  • 建设工程安全监督备案网站动画专业
  • 网站建设好发信息网搜索引擎优化的核心是
  • 网站开发需要的技术人才牧和邻宠物网站建设
  • 行业seo网站优化方案界面设计是做什么的
  • 用asp.net做的网站有哪些设计制作小车一教学设计
  • 建设网站宣传页巴中市建设局新网站
  • 站长工具樱花合肥生态丽景网站建设
  • 网站建设玖首选金手指大连企业网站建设公司
  • 百度推广网站平台苏州网站建设哪家公司好
  • 电子商务网站建设方面的论文西安市网站建设公司
  • 化工网站建站模板网络公司代做的网站注意事项
  • 网站建设中企动力公司企业建站官网运营
  • 网站架设地址手机电脑同步编辑wordpress
  • 网站建设 长安镇网站建设协议 合同
  • 网站开发都有哪些郑州seo技术服务
  • 饮食中心网站建设方案wordpress自适应主题制作
  • 网站建设优化文章seo搜索引擎优化方式
  • 制作网站需要什么软件温岭 网站建设
  • 兼职做网站的费用网络公司专业做网站
  • 肥城网站建设费用云南省建设厅建管处网站
  • 徐州市建设银行网站中山教育平台网站建设
  • 惠州市建网站公司国内最新新闻摘抄2023年
  • 郑州企业网站优化建设工业网站首页
  • php网站开发教程图片一键lnmp搭建wordpress
  • 设计工作室图片连云港网站优化方案
  • 做音箱木工网站室内设计奖项有哪些
  • 淘客网站 源码免费开源cms内容管理系统
  • 网站买东西第三方怎么做个人做外贸网站平台
  • 建造电商网站义乌创博网络科技有限公司
  • 百度搜索引擎录入网站怎么做足球直播网站