- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于java泛型对spring中强制类型转换工厂的改进资料
基于Java 泛型对Spring 中强制类型转换工厂的改进
苗锡奎
辽宁工程技术大学电子与信息工程学院,辽宁葫芦岛(125105 )
E-mail :miaoxikui@163.com
摘 要:本文主要利用泛型编程将泛型机制与设计模式有机的结合并加以优化和实现,提出
一种提出利用了Java 的新特性—泛型类型(generic type ),在工厂设计模式或其它应用中
摆脱类类型在强制转换或向下类型转换的过程中极容易发生的错误的设计方案。并针对
Spring 中的强制类型转换的工厂进行了改进,在利用工厂获得某个类的实例时不需要硬编码
的方式强制转换实例的类型。
关键词:泛型,泛型编程,工厂模式,XML
中图分类号:TP311
1. 引言
软件的解耦一直是软件研究领域的一个热点课题。所产生的思想也数不胜数,其中的两
大重要思想是Ioc 思想和Aop 思想,然而这些思想都是种种设计模式的体现。其中的工厂设
计模式就在这两种思想中都有所体现。然而工厂模式虽然优势很多但是也存在着不足之处。
在面向对象设计的软件中我们与软件打交道的无疑都是一个个的对象,而且一个软件的
灵活性是与软件的整个软件的体系结构设计的好坏有直接的关系。而如何井井有条地产生与
组织对象就变的首当其冲了。工厂模式中的简单工厂模式是有效产生和管理对象的有利工
具。在软件的体系结构设计过程中为了达到软件功能的解耦常常利用设计模式对软件进行建
设。工厂方法就是解耦的一种有效的途径。在 Spring 中就应用了大量的工厂方法,它可以
通过配置文件的配置信息来得到某个类的实例[1] 。而不用通过硬编码的方式如A a = new A ()
来产生对象,使对象与产生对象的类之间在程序中观察不出任何的联系来。无论是采用面向
接口方式编程来使软件的解耦程度更上一层楼还是直接面向类编程,利用工厂方法都必须在
对象显示产生的时候为其强制指定某种类型,这不仅为程序的编写者带来了不必要的麻烦,
而且在一定的程度上改善了软件体系结构的可扩展性。
Java 是一种强类型的语言,Java 的安全和健壮性部分来自于它是该类型语言这一事实。
Java 编译器对所有的表达式和参数都要进行类型相容性的检查以保证类型是兼容的。任何
类型的不匹配都是错误的,在编译器完成编译以前,错误必须被改正。例如我们有抽象类A
和其实现类AA 或接口B 和其实现类BB ,利用Spring 的工厂产生类BB 的实例的时候就必
须写成如下格式:A a = (BB)BeanFactory.getBean(“bb”);当然这仅仅是类型转换的一种。这就
要求程序员必须严格的遵守这一规则,当然遵守这一规则带来的安全性和健壮性要远远大于
不遵守这一规则所带来的方便性。但是我们可以在特定的环境下,利用泛型机制将这一规则
所带来的约束降低到最小。
基于以上存在的问题,提出了可以在程序运行过程中动态的产生对象并不用强制为其指
定类型的一种可行的设计方案。
2. 方案介绍
2.1 简单工厂模式简介
在工厂模式的简单工厂模式中,工厂处于对产品类进行实例化的中心位置上,它知道每
一个产品类的细节,并决定在何时哪一个产品类应当被实例化。实质上就是由一个工厂类根
- 1 -
据传入的参量决定创建出哪一种产品的实例。可以用一个示意性的图来表示简单工厂模式的
结构。
图2.1 简单工厂模式的结构图
简单工厂模式的优点是能够使客户端独立于产品的创建过程,并且在系统中引入新产品
时无需对客户端进行修改,缺点是当有新产品要加入到系统中时,必须对工厂类进行修改,
以加入必要的处理逻辑。简单工厂模式的致命弱点就是处于核心地位的工厂类,因为一旦它
无法确定要对哪个类进行实例化时,就无法使用该模式[2] 。
2.2 方案简介
针对2.1 中所述的简单工厂模式的原理即是根据传入的参量决定创建出哪一种产品的实
例和其致命弱点,我们可以从传入的“参量
您可能关注的文档
- 广汽丰田工厂资料.ppt
- 行人条线例会ppt汇报模板(适用于各工厂)资料.ppt
- 合知创行-标准工时制定(陈伟峰)资料.ppt
- 核电厂区千年、百年一遇不同时段暴雨量分析解析计算研究探究资料.pdf
- 核电厂址隐伏断裂探测中的地震勘探方法研究探究资料.pdf
- 烘焙食品(工厂)良好作业操作规范资料.doc
- 湖南广电变身梦工厂资料.doc
- 花卉工厂化育苗技术资料.doc
- 华晨发动机工厂资料.docx
- 华铖工厂视频监控解决方案计划资料.pdf
- 2025中国农业科学院烟草研究所博士后研究人员招收80人笔试备考试题附答案详解(综合卷).docx
- 2025年巫山县卫生健康委员会县属医疗卫生事业单位考调工作人员的模拟试卷及答案详解(名师系列).docx
- 2025年度天津市卫生健康委员会所属天津医学高等专科学校第二批次考前自测高频考点模拟试题附答案详解(.docx
- 2025年海城市司法局、共青团海城市委员会公益性岗位招聘(5人模拟试卷带答案详解.docx
- 2025山东大学晶体材料研究院非事业编制人员招聘1人笔试备考试题附答案详解(a卷).docx
- 2025年山东省人民政府发展研究中心公开招聘人员(4名)考前自测高频考点模拟试题含答案详解ab卷.docx
- 2025年深圳市规划和自然资源局光明管理局第二批一般特聘岗位招聘笔试备考试题及答案详解(典优).docx
- 2025年佛山市第二人民医院招聘高层次人才(第一批)(6人)考前自测高频考点模拟试题附答案详解(培优.docx
- 2025年宁夏回族自治区中医医院暨中医研究院上半年自主招聘急需紧笔试备考试题附答案详解(轻巧夺冠).docx
- 2025山东泰安市农业科学院招聘博士研究生2人模拟试卷附答案详解(研优卷).docx
文档评论(0)