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

商盈网站建设域名注册商查询工具

商盈网站建设,域名注册商查询工具,北京做网站比较有名的公司有哪些,百度一下你就知道手机版工厂模式 Factory Pattern 摘要实现范例 工厂模式#xff08;Factory Pattern#xff09;提供了一种创建对象的最佳方式 工厂模式在创建对象时不会对客户端暴露创建逻辑#xff0c;并且是通过使用一个共同的接口来指向新创建的对象 工厂模式属于创建型模式 摘要 1. 意图 … 工厂模式 Factory Pattern 摘要实现范例 工厂模式Factory Pattern提供了一种创建对象的最佳方式 工厂模式在创建对象时不会对客户端暴露创建逻辑并且是通过使用一个共同的接口来指向新创建的对象 工厂模式属于创建型模式 摘要 1. 意图 定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类工厂模式使其创建过程延迟到子类进行2. 主要解决 主要解决接口选择的问题3. 何时使用 我们明确地计划不同条件下创建不同实例时4. 如何解决 让其子类实现工厂接口返回的也是一个抽象的产品5. 关键代码 创建过程在其子类执行6. 应用实例 您需要一辆汽车可以直接从工厂里面提货而不用去管这辆汽车是怎么做出来的以及这个汽车里面的具体实现Hibernate换数据库只需换方言和驱动就可以 7. 优点 一个调用者想创建一个对象只要知道其名称就可以了扩展性高如果想增加一个产品只要扩展一个工厂类就可以屏蔽产品的具体实现调用者只关心产品的接口 8. 缺点 每次增加一个产品时都需要增加一个具体类和对象实现工厂使得系统中类的个数成倍增加在一定程度上增加了系统的复杂度同时也增加了系统具体类的依赖这并不是什么好事 9. 使用场景 日志记录器记录可能记录到本地硬盘.系统事件.远程服务器等用户可以选择记录日志到什么地方数据库访问当用户不知道最后系统采用哪一类数据库以及数据库可能有变化时设计一个连接服务器的框架需要三个协议”POP3″.”IMAP”.”HTTP”可以把这三个作为产品类共同实现一个接口 10. 注意事项 作为一种创建类模式在任何需要生成复杂对象的地方都可以使用工厂方法模式 有一点需要注意的地方就是复杂对象适合使用工厂模式而简单对象特别是只需要通过 new 就可以完成创建的对象无需使用工厂模式。如果使用工厂模式就需要引入一个工厂类会增加系统的复杂度 实现 创建一个Shape接口和实现Shape接口的实体类下一步是定义工厂类ShapeFactoryFactoryPatternDemo使用ShapeFactory来获取Shape对象 范例 1. 创建一个接口 Shape.java package com.demo.gof; public interface Shape {void draw(); }2. 创建实现接口的实体类 Rectangle.java package com.demo.gof; public class Rectangle implements Shape {Overridepublic void draw() {System.out.println(Inside Rectangle::draw() method.);} }Square.java package com.demo.gof; public class Square implements Shape {Overridepublic void draw() {System.out.println(Inside Square::draw() method.);} }Circle.java package com.demo.gof; public class Circle implements Shape {Overridepublic void draw() {System.out.println(Inside Circle::draw() method.);} }3. 创建一个工厂生成基于给定信息的实体类的对象 ShapeFactory.java package com.demo.gof; public class ShapeFactory {//使用 getShape 方法获取形状类型的对象public Shape getShape(String shapeType){if(shapeType null){return null;} if(shapeType.equalsIgnoreCase(CIRCLE)){return new Circle();} else if(shapeType.equalsIgnoreCase(RECTANGLE)){return new Rectangle();} else if(shapeType.equalsIgnoreCase(SQUARE)){return new Square();}return null;} }4. 使用该工厂通过传递类型信息来获取实体类的对象 FactoryPatternDemo.java package com.demo.gof; public class FactoryPatternDemo {public static void main(String[] args) {ShapeFactory shapeFactory new ShapeFactory();//获取 Circle 的对象并调用它的 draw 方法Shape shape1 shapeFactory.getShape(CIRCLE);//调用 Circle 的 draw 方法shape1.draw();//获取 Rectangle 的对象并调用它的 draw 方法Shape shape2 shapeFactory.getShape(RECTANGLE);//调用 Rectangle 的 draw 方法shape2.draw();//获取 Square 的对象并调用它的 draw 方法Shape shape3 shapeFactory.getShape(SQUARE);//调用 Square 的 draw 方法shape3.draw();} } 编译运行以上 Java 范例输出结果如下 $ javac -d . src/main/com.demo/gof/FactoryPatternDemo.java $ java com.demo.gof.FactoryPatternDemo Inside Circle::draw() method. Inside Rectangle::draw() method. Inside Square::draw() method.
http://www.w-s-a.com/news/257085/

相关文章:

  • 双辽做网站wordpress怎么写html代码
  • 建站公司哪家好 知道万维科技西安都有哪些公司
  • 设计网站官网入口佛山 品牌设计
  • 专用网站建设wordpress mega
  • 网站建设与优化推广方案内容网站整站下载带数据库后台的方法
  • 做网站PAAS系统外链是什么意思
  • 网页设计专业设计课程googleseo排名公司
  • 网站百度百科那些免费网站可以做国外贸易
  • 做视频的网站有哪些南京计算机培训机构哪个最好
  • ppt做视频 模板下载网站商业街网站建设方案
  • 佛山网站定制开发星光影视园网站建设案例
  • wordpress子站点商务网页设计与制作微课版答案
  • 山东省住房城乡和建设厅网站软件开发主要几个步骤
  • 可以接项目做的网站网站源码php
  • 杭州广众建设工程有限公司网站网页游戏人气排行榜
  • 上海网站开发建设最简单的网站代码
  • 东莞做网站建设免费网站建设案例
  • 莱州建设局网站wordpress的主题下载地址
  • 二级网站域名长沙企业关键词优化服务质量
  • 在家有电脑怎么做网站wordpress 入门主题
  • 什邡建设局网站sem推广是什么意思
  • 西安分类信息网站网站敏感关键词
  • 黑彩网站怎么做建设网站费用分析
  • 网站关键词选取的步骤和方法小程序商城哪家好排行榜
  • 儿童产品网站建设网站建设优化排名推广
  • 做网站的硬件无锡招标网官方网站
  • 做推送好用的网站合肥网站推广培训
  • 网站开发团队简介贵阳双龙区建设局网站
  • 新乡做网站公司哪家好wordpress侧边栏文件
  • 小白建站怎么撤销网站备案