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

南昌市做网站公司wordpress标签生成图片

南昌市做网站公司,wordpress标签生成图片,汉语国际网站建设,阿里有做网站工厂设计模式是面向对象环境中最常用的模式之一。 再次来自“创意设计”模式类别#xff0c;即有关对象创建的所有信息。 在某些情况下#xff0c;对象的创建很复杂#xff0c;可能需要某种程度的抽象#xff0c;以便客户端代码无法意识到这些复杂性和内部实现细节。 在某些… 工厂设计模式是面向对象环境中最常用的模式之一。 再次来自“创意设计”模式类别即有关对象创建的所有信息。 在某些情况下对象的创建很复杂可能需要某种程度的抽象以便客户端代码无法意识到这些复杂性和内部实现细节。 在某些情况下对象的创建在代码的各个部分中是分散的和重复的。Factory模式通过定义一个接口专门解决了该问题这些接口专门创建对象但为实现类提供了灵活性可以决定实例化哪个类。 定义 Factory方法模式是定义用于创建对象的接口但将对象创建委托给子类。 目的 查看问题陈述目标应该是 客户端应该不知道对象实例化 客户端应通过公共接口访问对象。 你知道吗 工厂方法设计模式通常与装饰器设计模式一起用于各种框架例如StrutsSpringApache中。 有许多基于此Factory模式的J2EE模式例如DAO模式。 工厂模式使用哪种面向对象设计原理 封装因为它封装了来自客户端的创建代码。 显然您可以认为封装的好处也适用于这种模式例如松耦合和内聚。 实际示例 考虑一个服装工厂该工厂生产各种类型的服装例如衬衫裤子。 消费者可以通过工厂索要所需的服装类型。 但是从消费者的角度来看他们完全不知道是谁在创建此对象。 他们只是知道工厂正在为他们提供所需的服装。 问题陈述 一种标准做法是通过调用“ new”关键字来创建对象。 设想一个场景在客户端类中有多种情况我们调用了多个新关键字来创建新对象。 if (selection.equalsIgnoreCase(Trouser)) {return new Trouser();} else if (selection.equalsIgnoreCase(Shirt)) {return new Shirt();} 如果现在必须添加外套或毛衣则必须继续修改客户端代码并进一步添加new关键字。 这将导致对客户端代码的依赖从而使其难以维护。 另一个问题是客户端应用程序必须知道有多少种具体的类可以使用。 以后如果我们必须添加另一个具体类例如毛衣或夹克则必须更改并重新编译客户代码。 解 为了解决上述问题可以显式使用工厂模式。 使用Factory类可以解决访问太多新关键字的第一个问题。 第二个问题可以通过使用具体类将实现的接口来解决并且客户端将始终指向该接口类而不是具体类。 因此通过这种方式客户将完全不知道所需的各种类型的具体类。 什么是接口 Java中的接口是没有实现的方法定义的集合。 实现接口的类必须提供实现并且必须实现接口中描述的所有方法。 接口是一个契约它告诉类要做什么让类决定如何实现它们。 interface Bounceable {void setBounce(); } 下面的类图将全面概述Factory Pattern的实现 工厂模式类图 让我们看一下实现工厂模式的示例代码 GarmentType.java public interface GarmentType {String print(); } Trouser.java public class Trouser implements GarmentType {Overridepublic String print() {System.out.println(Trouser Created);return Trouser;}} Shirt.java public class Shirt implements GarmentType {Overridepublic String print() {System.out.println(Shirt Created);return Shirt;} } GarmentFactory.java public class GarmentFactory {public static GarmentType createGarments(String selection) {if (selection.equalsIgnoreCase(Trouser)) {return new Trouser();} else if (selection.equalsIgnoreCase(Shirt)) {return new Shirt();}throw new IllegalArgumentException(Selection doesnot exist);} } 客户端程序 public class Client {public static void main(String[] args) {System.out.println(Enter your selection:);BufferedReader br new BufferedReader(new InputStreamReader(System.in));String selection null;try {selection br.readLine();} catch (IOException e) {e.printStackTrace();}GarmentType objGarmentType GarmentFactory.createGarments(selection);System.out.println(objGarmentType.print());} } 工厂模式的优势 a此客户端不需要了解需要创建的对象的子类。 它需要引用接口和工厂对象。 b对象创建过程从客户端带到工厂从而使客户端代码与对象创建代码脱钩。 反过来这将有助于重用因为此代码可被其他客户端使用。 cFactory模式还有助于提高应用程序的可伸缩性因为客户端代码仅引用接口我们可以添加更多实现该接口的产品而无需在客户端代码中进行很多更改。 d如果应用程序使用Factory模式因为对象创建是集中的则代码可维护性是有益的。 参考 通过 Idiotechie博客上的JCG合作伙伴 Mainak Goswami 使用Factory Pattern解决设计问题 。 翻译自: https://www.javacodegeeks.com/2012/07/solve-design-problems-using-factory.html
http://www.pierceye.com/news/980423/

相关文章:

  • 网站建设技术架构学校网站建设源代码
  • 无为教育网站网站平面设计培训
  • 广东省建筑网站信誉好的低价网站建设
  • 高端网站建设 杭州做效果图网站
  • 进贤县住房和城乡建设局网站短网址生成网站源码
  • 手机网站用二级目录做的弊端四川建设人员数据网站
  • 做网站什么类型好数据分析师培训需要多少钱
  • 建html5网站合作网站开发
  • 南通网站推广优化公司网站语言切换功能如何做
  • php网站开发案例论文临沂网站建设中企动力
  • 霸州做网站1766534168WordPress全局屏蔽谷歌
  • 织梦做的网站被黑了北京互联网排名
  • 专业seo整站优化专业建站教程
  • 网站建设合同注意点什么网站可以接设计方案
  • 青岛建设公司网站费用建网站的流程和费用
  • 徐州cms模板建站液压电机东莞网站建设
  • 阿里巴巴国际站运营工作内容北京软件开发公司排行榜最新
  • 电子商务网站的开发流程包括泉州seo建站
  • 微信h5商城网站开发米拓模板网站建设
  • 品牌网站设计案例wordpress 实例
  • 郑州大学科技园手机网站建设wordpress 新手指南
  • 国外免费建站网站搭建南阳网站排名优化报价
  • 中国排名高的购物网站免费软件下载网站有哪些
  • 云服务器做视频网站石家庄软件定制开发
  • 好的外贸网站的特征如何快速的制作h5页面
  • 徐州建站程序南京制作网页培训学校
  • 广州市服务好的网站制作排名北京网站建设公司哪个最好
  • 网站调用谷歌地图灌云网站制作
  • 做的网站能撤掉吗济南好的网站建设公司排名
  • 北京智能建站系统价格江西省住房建设厅统计网站