在DAL使用简单工厂设计模式的设计

来源 :数字化用户 | 被引量 : 0次 | 上传用户:bitao6633620
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】本文从面向对象的角度出发,简单介绍了计算机软件中设计模式的使用,从简单工厂设计模式的概念和其结构以及用途进行解析,重点讲解抽象工厂设计模式在软件开发过程中的作用和好处,通过一些实例来说明简单工厂设计模式的特点。
  【关键词】面向对象 简单工厂 设计模式
  一、引言
  随着社会的不断进步,科技的不断发展,当今社会所需求的各种软件应用层出不穷,所以符合时代需求的软件工程师越来越多。在面向对象设计领域,我们知道很多出色的前辈总结了不少经验,从而形成设计模式,本文从主要通过一个简单的例子探讨了简单工厂的使用与作用。
  二、C#中的接口
  (一)接口的概念
  接口就是一种特殊的抽象类,跟一般的抽象类相比,接口里面的所有方法都是抽象方法,接口里面的所有属性都是常量。也就是说,接口里面是只有方法定义而不会有任何方法实现。
  (二)接口作用
  在学习面向对象语言时,我们都知道通常用接口来定义实现类的外观,也就是实现类的行为定义,用来约束实现类的行为。使用接口,可以实现不相关类的相同行为,而不需考虑这些类之间的层次关系,接口就是实现类对外的外观。
  (三)使用接口的好处
  由于外部调用和内部实现被接口隔离开了,那么只要接口不变,内部实现的变化就不会影响到外部应用,从而使得系统更灵活,具有更好的扩展性和可维护性,这也就是所谓“接口是系统可插拔性的保证”这句话的意思。
  三、设计模式
  (一)设计模式的定义
  一般的定义是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
  (二)设计模式的作用
  使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。
  毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。
  四、简单工厂设计模式
  (一)简单工厂的定义
  通俗的理解它就是提供了一个创建实例功能,而无须关心其具体实现,有一系列功能及其相似的产品,在客户看来完全可以互相替代。当然被创建的实例的类型可以是接口、抽象类、同时也可以是具体的类。
  (二)简单工厂模式角色和结构
  简单工厂模式就是一个工厂类根据传入的参数创建出符合参数的产品类的实例,以一个简单实例说明问题,简单工厂模式涉及到抽象产品角色、具体产品角色和工厂角色等三个角色。
  抽象产品(Product)角色:
  定义客户所需要的功能接口,抽象产品角色可以用一个java接口或者java抽象类实现。
  具体产品(ConcreteProduct)角色:
  具体实现抽象产品的实现类,可能会有多个具体产品,简单工厂模式所创建的任何对象都是这个角色的实例,它由一个具体java类实现。
  工厂类(Creator)角色:
  选择合适的实现类来创建抽象产品接口对象。工厂类在客户端的直接调用下创建产品对象,它往往由一个C#具体类实现。
  下面就看一个例子,我们会通常都是在客户端Client创建一个实现类Impl的实例,把它赋值给一个接口APi类型的变量,然后客户端就可以通过这个变量来操作接口的功能了。
  此时我们采用实现类创建一个接口对象,Api api = new Impl();然而我们都知道接口的思想是“封装隔离”,而Impl这个实现类,应该是被接口Api封装并同客户端隔离开的,也就是说,客户端根本就不应该知道具体的实现类是Impl。所以我们使用简单工厂模式来完成这个工作。
  我们在知道这个类以后,只需要在需要运算时用这个工厂类创建相应的对象,而不必每一次做运算时都需要重复这些代码,它才是真正实现面向接口编程的好方法。
  (三)简单工厂模式的特点
  简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。在这个模式中,工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟應该创建哪个具体类的对象。用户在使用时可以直接根据工厂类去创建所需的实例,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。
  不难发现,简单工厂模式的缺点也正体现在其工厂类上,由于工厂类集中了所有实例的创建逻辑,所以“高内聚”方面做的并不好。另外,当系统中的具体产品类不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不很好。
  五、结论
  简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。在实际运用中,由于可行的系统都是比较复杂而且比较庞大的系统,用到的设计模式都比较复杂,而简单工厂设计模式是一个简单而且基础的设计模式,所以它会在较为复杂的设计模式中出现。作为刚刚接触软件开发的初级技术人员,有必要了解和学习最基础的设计模式,这样才能在以后开发大型软件使用设计模式时灵活而且用法丰富多彩。同时掌握基础的简单工厂设计模式有利于增强初学者对软件开发的认识和了解。
  参考文献:
  [1]程杰.大话设计模式.北京:清华大学出版社,2007.12 .
  [3]阎宏.Java与设计模式.北京:电子工业出版社,2002.10 .
  作者简介:高祖彦 ,男(汉),1979年10月生,山东枣庄,现为恩施职业技术学院计算机与信息工程系讲师,理学学位,计算机软件开发专业,主要研究方向:计算机软件技术,计算机数据库技术
其他文献
【摘 要】随着我国科学技术的飞速发展以及煤矿企业机械化程度的大幅度提升,在煤矿生产中,掘进机设备的作用和地位日益突出,在煤矿巷道作业生产中发挥着非常重要的作用。为了实现矿井生产的高效性,最大限度保证煤矿巷道掘进安全性、快速性、高效性,是保证采掘工作得以顺利开展的前提。对于半煤岩巷来说,如何实现掘进的快速、安全生产,成为了摆在我们面前的重要研究课题。  【关键词】EBZ-220;半煤岩掘进机;快速掘
【摘 要】针对加工薄壁锥套零件易产生变形、震动、精度不高等不良现象的特点,分析了如何提高薄壁锥套零件加工精度和效率的具体方法。  【关键词】薄壁锥套 大批量 优化夹具  一、前言  我校在和企业合作中接到如图1所示的薄壁锥套零件加工,毛坯为45钢材料的管件,尺寸公差和形状公差要求较高,且要求大批量生产。通过实操教师的分析,薄壁锥套件加工比较棘手,其主要影响因素有:(一)易受力变形:薄壁锥套件壁薄、
【摘 要】目前,我国制造业发展面临的主要问题就是技术与管理。而单纯依靠工厂自动化技术来发展,效果不佳,因此应该将其与现代工业工程结合使用。论文简单介绍了工业工程与工厂自动化的定义,及各自的技术支持,并阐释了二者对于我国制造业发展影响及其途径,力求促进我国制造业的进一步发展。  【关键词】现代工业工程;工厂自动化;途径  目前,我国制造业发展面临的主要问题就是技术与管理。而单纯依靠工厂自动化技术来发
【摘 要】本文首先分析了电流互感器各参数之间的关系,然后就电流互感器两相极性时,对二次回路电流和二次负荷阻抗的影响进行了分别分析;最后,对电流互感器两相电流极性相反对继电保护可靠性的影响进行了概述,并得出了相关的结论。  【关键词】电流互感器;极性;二次阻抗;继电保护;可靠性;影响  一、电流互感器参数间关系分析  通常,在电力系统中的电流互感器相当于一个电流源,与变压器和互感器和电压互感器的之间
【摘 要】软件规模是立项评审的重要参数之一。软件立项评审处于处于软件生命周期的初期,规模估算只能采用早期估算方法。但是,一般的软件早期估算方法已经不太适应当前软件项目的估算。一是对估算人员估算经验要求过高,二是不准确性会难以控制,三是做不到真正的快速。本文针对以上一般早期估算方法的不足做了改进,提出了一种基于专家经验和抽样的快速早期估算方法。  【关键词】早期估算 软件估算 立项评审  立项评审是
【摘 要】在信息时代,政府、企业及个人都需要建设高水平的网站,掌握网站制作的实用技术非常重要。  【关键词】网站制作流程、网站设计原则、网页设计技巧、网站设计实用技术  在高度信息化的社会里,通过网站可以更好的展示自身的形象,扩大社会影响,提高企事业单位的知名度,建立具有自己特色的网站是最直接的宣传手段。政府网站代表着政府自身的形象及服务的水平,企业网站具有推广产品、营销服务的功能。当今,网络营销
【摘 要】随着农村城镇化的提出,建筑行业又迎来了发展高峰期。对于建筑工程来说,施工时间长、投资量大、管理复杂是建筑施工过程中不可避免的问题。为保证建筑施工过程安全有序的进行,就必须建立一套完善的建筑工程项目管理制度。本文通过对建筑工程项目管理的分析,提出行之有效的计算机管理模式。  【关键词】计算机;建筑工程;项目管理;管理系统  近几年对于建筑行业来说出现了新的契机,国家对于发展农村城镇化建设的
【摘 要】数据挖掘可以将大量的业务数据转换成有利用价值的信息和知识,促进行业的发展,因此,数据挖掘已经引起了信息产业界的极大关注。利用数据挖掘技术为行业的发展解决各种实质性问题的关键是对数据挖掘模型的选择。本文就探讨一下基于MAS的数据挖掘模型自动选择方法。  【关键词】MAS数据挖掘 模型 自动选择方法  数据挖掘可以将大量的业务数据转换成有利用价值的信息和知识,促进行业的发展,因此,数据挖掘已
【摘 要】在对电力企业信息系统深入分析和研究的基础上,文章提出了一种新的电力信息系统安全模型一环立方体模型,并在此基础上,集专家集体智慧,采用模糊综合评判法对电力信息系统的安全进行了定量评估,证明该模型具有很强的综合性、系统性、动态性、普遍性和实用性。该安全模型及数学评估方法的建立为电力信息系统安全性能的分析和评估提供了新的思路和方法,同时对设计和开发安全的电力信息系统、开展电力信息系统安全评估具
【摘 要】本文结合学院软件技术专业的实际情况,详细介绍了一种基于WebService在线考试平台的设计与实现,并对WebService理论和技术进行了着重研究和探讨。论文从软件技术专业学生的实际考试需求出发,提出了基于WebService的在线平台模型,并对在线考试平台应具备的主要功能模块进行了详细阐述。  【关键词】WebService 中间件 考试平台  随着计算机技术和网络技术的飞速发展,以