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

网站建设怎么做?门窗网站源码

网站建设怎么做?,门窗网站源码,门头沟网站开发,不知此网站枉做男人工厂模式 1.介绍 工厂模式#xff08;创建型模式#xff09;#xff0c;是我们最常用的实例化对象模式#xff0c;是用工厂方法代替new操作的一种模式#xff1b;在工厂模式中#xff0c;我们在创建对象时不会对客户端暴露创建逻辑#xff0c;并且是通过使用一个共同的…工厂模式 1.介绍 工厂模式创建型模式是我们最常用的实例化对象模式是用工厂方法代替new操作的一种模式在工厂模式中我们在创建对象时不会对客户端暴露创建逻辑并且是通过使用一个共同的接口来指向新创建的对象。 工厂模式是用来创建实例对象的所以以后new时就要多个心眼是否可以考虑使用工厂模式虽然这样做可能多做一些工作但会给你系统带来更大的可扩展性和尽量少的修改量。 意图定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类工厂模式使其创建过程延迟到子类进行。 主要解决主要解决接口选择的问题。(选择不同的接口实例化不同的工厂对象) 何时使用我们明确地计划不同条件下创建不同实例时。 如何解决让其子类实现工厂接口返回的也是一个抽象的产品。 关键代码创建过程在其子类执行。 应用实例 您需要一辆汽车可以直接从工厂里面提货而不用去管这辆汽车是怎么做出来的以及这个汽车里面的具体实现。Hibernate 换数据库只需换方言和驱动就可以。 优点 一个调用者想创建一个对象只要知道其名称就可以了。扩展性高如果想增加一个产品只要扩展一个工厂类就可以。屏蔽产品的具体实现调用者只关心产品的接口。 缺点 ​ 每次增加一个产品时都需要在工厂中增加一个具体类和对象使得系统中类的个数成倍增加在一定程度上增加了系统的复杂度同时也增加了系统具体类的依赖。 使用场景 日志记录器记录可能记录到本地硬盘、系统事件、远程服务器等用户可以选择记录日志到什么地方。数据库访问当用户不知道最后系统采用哪一类数据库以及数据库可能有变化时。设计一个连接服务器的框架需要三个协议POP3、IMAP、HTTP可以把这三个作为产品类共同实现一个接口。 注意事项作为一种创建类模式在任何需要生成复杂对象的地方都可以使用工厂方法模式。 有一点需要注意的地方就是 复杂对象适合使用工厂模式而简单对象特别是只需要通过 new 就可以完成创建的对象无需使用工厂模式。如果使用工厂模式就需要引入一个工厂类会增加系统的复杂度。 2.具体步骤实现代码 创建接口定义方法子类实现接口重写方法创建工厂生产用户需要的实体类对象使用工厂获取实体类执行该类的方法等 步骤1定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类创建过程在其子类执行 /*** 步骤一定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类* 创建过程在其子类执行**/ //定义一个形状接口 public interface Shape {//定义画形状的方法void draw(); }步骤2定义实现接口的实体类 /*** 步骤2定义实现接口的实体类*/ public class Circle implements Shape {Overridepublic void draw() {System.out.println(画圆形的子类);} }/*** 步骤2定义实现接口的实体类*/ public class Rectangle implements Shape {Overridepublic void draw() {System.out.println(画长方形的子类);} }/*** 步骤2定义实现接口的实体类*/ public class Square implements Shape {Overridepublic void draw() {System.out.println(画正方形的子类);} } 步骤3创建一个工厂生成基于给定信息的实体类的对象。 /*** 步骤3创建一个工厂生成基于给定信息的实体类的对象。*/ public class ShapeFactory {//使用getShape获取形状类型的对象public Shape getShape(String shapeType) {if (shapeType null) {return null;}//equalsIgnoreCase()不考虑大小写if (shapeType.equalsIgnoreCase(circle)) {return new Circle();} else if (shapeType.equalsIgnoreCase(square)) {return new Square();} else if (shapeType.equalsIgnoreCase(rectangle)) {return new Rectangle();}return null;} }步骤4使用工厂通过用户传递信息获取实体类的对象 public class TestMain {public static void main(String[] args) throws IOException {//用户输入BufferedReader buff new BufferedReader(new InputStreamReader(System.in));String str buff.readLine();//创建工厂对象ShapeFactory shapeFactorynew ShapeFactory();//通过工厂对象获取实体类的对象Shape shape1shapeFactory.getShape(str);//执行某个实体类的方法shape1.draw();} }
http://www.dnsts.com.cn/news/130795.html

相关文章:

  • 网站建设评审标准网站开发公司怎么查询
  • 网站页面设计最宽可做多宽WordPress表白墙主题
  • 做app网站的公司名称深圳网站建设服务哪些便宜
  • 义乌购物网站建设多少钱织梦网站根目录标签
  • 金融投资网站源码宜章网站建设
  • 网站的建设及推广跨境电商平台开发
  • 有哪些做分析图用的网站黄图网站有哪些 推荐
  • 网页设计网站布局分析廊坊seo推广公司
  • 园林工程建设网站微信公众号绑定网站
  • 哪家做网站的比较好友情链接格式
  • 门户网站优化报价wordpress轮播图调用
  • 做a的网站有哪些苏州做网站设计
  • 响应式网站做seo怎么样上海p2p网站建设
  • 网站开发软件标书范本青岛百度优化
  • 免费手机网站建站平台犀牛云网站建设公司
  • 简单asp网站源码滑县网站建设策划
  • 南通做企业网站免费购物网站程序
  • 视频网站开发平台江门网站制作建设
  • 企业网站推广方法有哪些美容院顾客管理系统软件
  • 哪里购买网站广告位青岛网站建设哪家公司好
  • 服装商城的网站策划书镇江网站建设机构
  • 怎么做影视类网站新的网站建设技术方案
  • 十大网站建设服务商简单网站建设运营
  • 网站开发进度源码石家庄网站建设咨询
  • 淘宝网站开发多少金额国开网站怎么做
  • 人工智能的网站长沙网站制作价格
  • 网页广告设计师培训学校seo优化6个实用技巧
  • 广东微信网站制作哪家好网站建设方案推广
  • 个人做网站有什么坏处大连爱得科技网站建设公司怎么样
  • 网站建设有哪些渠道seo推广优化外包公司