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

攀枝花网站开发直接IP做网站

攀枝花网站开发,直接IP做网站,网页具有动画网站建设技术,邵阳建设银行网站是多少工厂模式 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.zqtcl.cn/news/726472/

相关文章:

  • 黄页推广引流网站企业网站导航菜单
  • 合肥专门做网站的公司广告代理商是什么意思
  • wordpress显示一个类目seo推广
  • 营销型电子商务网站特点如何申请免费空间和域名
  • 网站建设 主要学是么vk汉化网站谁做的
  • 做英文网站费用多少学校网站开发毕业设计
  • 红动中国设计网站官网网页制作的论文
  • 云阳一平米网站建设西安设计工作室推荐
  • 网站长尾关键词优化网页设计定制代理
  • 海东电子商务网站建设运城市网站建设公司
  • 网站建设得要素电子商务网站建设与维护项目五
  • 网站备案无前置审批文件南宁市建设厅网站
  • 百度网站体检手机网页小游戏
  • 大型购物网站建设费用广告设计与制作软件有哪些
  • 郑州建设工程交易中心网站汉寿做网站的公司
  • 青岛企业做网站startuply中文版wordpress主题
  • 商标设计网站猪八戒网站建设与设计教程
  • 网站建设积分wordpress添加右侧菜单
  • 网站策划资料方案天津优化公司
  • 做网站推广哪家公司好成都最正规的装修公司
  • 菜鸟建网站如何制作推广网站
  • 无锡企业建站系统广州品牌网站建设
  • 什么网站能免费做公众号封面wordpress主题打不开
  • 扬州外贸网站建设制作广告的软件
  • 一个主机怎么做两个网站百度上的网站怎么做
  • 济南建设工程业绩公示的网站wordpress载入等待
  • seo公司名字太原百度seo排名软件
  • 安徽省城乡建设厅网站拼多多关键词排名在哪里看
  • 素材下载网站开发wordpress微信付款插件
  • 网站有什么用河北廊坊建筑模板厂家