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

企业建站公司报价四川网站建设的公司哪家好

企业建站公司报价,四川网站建设的公司哪家好,网站内容规划要包括什么内容,html5的网站目录概括目的主要解决何时使用使用场景总结三种工厂模式的对比代码示例概括 定义一个用于创建对象的接口#xff0c;让子类决定实例化哪一个类。使用特殊的工厂方法代替对于对象构造函数的直接调用#xff08;即使用 new运算符#xff0c;工厂方法 使一个类的实例化延迟到其… 目录概括目的主要解决何时使用使用场景总结三种工厂模式的对比代码示例概括 定义一个用于创建对象的接口让子类决定实例化哪一个类。使用特殊的工厂方法代替对于对象构造函数的直接调用即使用 new运算符工厂方法 使一个类的实例化延迟到其子类。 目的 工厂方法的目的是使得创建对象和使用对象是分离的并且客户端总是引用抽象工厂和抽象产品。 主要解决 主要解决接口选择的问题。 何时使用 我们明确地计划不同条件下创建不同实例时。 使用场景 作为一种创建类模式在任何需要生成复杂对象的地方都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式而简单对象特别是只需要通过 new 就可以完成创建的对象无需使用工厂模式。 总结 工厂方法将多个具有相同功能具体实现不相同的不同类抽象为一个抽象类并提供一个工厂方法代替对于对象构造函数的直接调用只返回抽象类。客户端通过工厂方法的参数指定具体的类型将返回的具体类当抽象类使用无需关心具体类的实现方式。 工厂方法可以隐藏创建产品的细节且不一定每次都会真正创建产品完全可以返回缓存的产品从而提升速度并减少内存消耗。 三种工厂模式的对比 三种工厂模式都封装了对象创建的过程调用方通过抽象工厂获取抽象产品调用方只使用抽象产品。 简单工厂所有产品都由一个工厂创建根据参数创建不同产品因此每次添加新产品都需要修改工厂的方法。 工厂方法每个产品都有相应的工厂实现了由调用方决定使用实例化哪个工厂。工厂方法的工厂用来创建一种产品如鼠标工厂创建鼠标、键盘工厂键盘。 抽象工厂工厂方法的增强每个工厂可以创建一系列相关的产品如小米工厂可以创建小米鼠标、小米键盘; 华为工厂可以创建华为鼠标华为键盘。可以认为抽象工厂是对工厂方法的组合。 代码示例 步骤一 创建一个接口 public interface Shape {void draw();}步骤二 创建实现接口的实体类 public class Rectangle implements Shape {Overridepublic void draw() {System.out.println(Inside Rectangle::draw() method.);}}public class Square implements Shape {Overridepublic void draw() {System.out.println(Inside Square::draw() method.);}}javapublic class Circle implements Shape {Overridepublic void draw() {System.out.println(Inside Circle::draw() method.);}}步骤三 创建一个工厂生成基于给定信息的实体类的对象。 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;}} 步骤四 使用该工厂通过传递类型信息来获取实体类的对象。 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();}}步骤五 执行程序输出结果 Inside Circle::draw() method. Inside Rectangle::draw() method. Inside Square::draw() method.
http://wiki.neutronadmin.com/news/14773/

相关文章:

  • 四平市建设局网站瑞安app开发
  • 如何自己做电影网站韶关最新消息
  • 网站构成要素湖滨区建设局网站
  • 设计公司网站建设模板图什么网站做电子相册比加快
  • 手机壁纸网站源码wordpress自动文章排版
  • 方维网站建设南宁网站建设招聘
  • 老网站用新域名怎样建设营销型网站
  • 成都 网站建设培训如何建设一个读书的网站
  • 公众号排名优化seo关键词的选择步骤
  • wordpress首页阅读全文关键词优化工具有哪些
  • 免费金融发布网站模板下载跨境电商亚马逊开店需要多少钱
  • 兰山区网站建设推广网上开店准备工作
  • 第三方网站开发优缺点自己做网站系统教程
  • 长沙网站建设公司有哪些搬瓦工512m内存wordpress
  • 北京工信部查网站备案网页版崩坏星穹铁道
  • 园岭网站建设建筑工程网课视频
  • 保定网站推广网站开发设计工具
  • 响应式网站与自适应dede网站后台模板
  • 四川做网站设计的公司信阳优化公司
  • 秦皇岛网站搜索排名成都公司网站制作公司
  • 仪征建设局招投标网站网站 手机网站
  • 网络推广网站推广淘宝运营商上海电商网站设计
  • 企业网站优化多少钱ii6创建网站
  • 在putty做网站要拷贝什么昌平做网站
  • 怎么看网站是不是h5做的汕头网站建设设计
  • 禅城区网站建设虚拟主机怎么建网站
  • 建设淘宝网站的人员组织团队氛围建设 网站
  • 多用户网站制作重庆建设工程交易中心
  • 免费建站自助建站网站建设教程网站建设教程wordpress后台无法变中文
  • 莱西网站制作wordpress 架构图