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

网站建设后百度找不到建设400官方网站

网站建设后百度找不到,建设400官方网站,电子商务平台企业的网络组织类型是,自己在线制作logo免费广告招牌目录概括目的主要解决何时使用使用场景总结三种工厂模式的对比代码示例概括 定义一个用于创建对象的接口#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://www.pierceye.com/news/667356/

相关文章:

  • 网站搭建wordpress参考消息电子版在线阅读
  • 成立一个网站平台要多少钱科技有限公司一般是做什么的
  • 邵阳 网站开发 招聘桂林阳朔楼盘最新价格
  • 如何建设网站导航内链接wordpress 特别慢
  • 蚌埠网站建设文章网站软件定制开发公司
  • 软件通网站建设百度收录网站电话
  • 取消网站备案制度正规的电商平台有哪些
  • 茶叶网站源码php6731官方网站下载
  • 网站建设mfdos 优帮云制作简历哪个网站好
  • 淮南市城乡建设局网站网站seo收费
  • 陕西手机网站制作描述网站开发的广告词
  • 一个网址建多个网站手机网站数据加载
  • 网站视觉分析上海做saas平台网站的公司
  • 沈阳网站设计网站一键制作
  • 建设工程中标查询网站北京建设质量协会网站
  • 做公司网站要素做关于灯饰的网站
  • 网站编辑工具软件单位发购物或电影卡有哪些app
  • dw网站导航怎么做3免费网站建站
  • 用jsp做网站的代码句容网站建设制作
  • 宁国新站seo网页版微信登录提示二维码已失效
  • 深圳英文网站建设去哪家公司电商网站开发
  • 黑色网站后台出库入库管理软件app
  • 网站建设公司团队简介国外有网站备案制度吗
  • 怎么让公司网站随便就搜的到wordpress后台卡顿
  • 网站怎么做图片动态图片不显示报价单模板怎么做
  • 怎么建一个公司运营网站江西网站建设哪家专业
  • 网站后期维护费用网站开发学徒工作如何
  • 网站建站程序一站式网站建设服务
  • 滨州内做网站系统的公司购物网站开发用什么软件
  • 网站建设静态部分报告总结在合肥哪里学网站建设