首页 > 范文大全 > 正文

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

开篇:润墨网以专业的文秘视角,为您筛选了一篇在DAL使用简单工厂设计模式的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】本文从面向对象的角度出发,简单介绍了计算机软件中设计模式的使用,从简单工厂设计模式的概念和其结构以及用途进行解析,重点讲解抽象工厂设计模式在软件开发过程中的作用和好处,通过一些实例来说明简单工厂设计模式的特点。

【关键词】面向对象 简单工厂 设计模式

一、引言

随着社会的不断进步,科技的不断发展,当今社会所需求的各种软件应用层出不穷,所以符合时代需求的软件工程师越来越多。在面向对象设计领域,我们知道很多出色的前辈总结了不少经验,从而形成设计模式,本文从主要通过一个简单的例子探讨了简单工厂的使用与作用。

二、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月生,山东枣庄,现为恩施职业技术学院计算机与信息工程系讲师,理学学位,计算机软件开发专业,主要研究方向:计算机软件技术,计算机数据库技术