网上购物系统设计模式论文

网上购物系统设计模式论文

ID:10019743

大小:40.50 KB

页数:4页

时间:2018-05-21

网上购物系统设计模式论文_第1页
网上购物系统设计模式论文_第2页
网上购物系统设计模式论文_第3页
网上购物系统设计模式论文_第4页
资源描述:

《网上购物系统设计模式论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一.程序设计目标我们用三层架构做了一个网上购物系统,主要是实现网上购物基本功能与流程,并通过这次实践设计更进一步熟练掌握三层架构的使用以及它的具体含义,加强编程结构化能力。操作系统WindowsXP应用软件VisualStudio+SQLServer2000设备硬件外部设备需奔腾133以上的PC机,内存需16兆以上开发语言C#二.程序设计介绍1.程序结构我们为程序建立了一个名为“网上购物”的工程,主要有个类三.程序设计步骤模式名称:问题:解决方法:四.简单工厂模式的定义简单工厂模式是类的创建模式,又叫做静态工厂方法(StaticFactoryMethod)模式。简单

2、工厂模式是由一个工厂对象决定创建出那一种产品类的实例。五.简单工厂模式的结构简单工厂模式涉及到工厂角色、抽象产品角色以及具体产品角色等三个角色:(1)工厂类(Creator)角色:担任这个角色的是工厂方法模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体C#类实现。(2)抽象产品(Product)角色:担任这个角色的类是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个C#接口或者C#抽象类实现。(3)具体产品(ConcreteProduct)角色:工厂方法模式所创建的任何对象都是这个角色的实

3、例,具体产品角色由一个具体C#类实现。工厂类的示意性源代码如下所示。可以看出,这个工厂方法创建了一个新的具体产品的实例并返还给调用者。1:Creator类的源代码publicclassCreator{//静态工厂方法publicstaticProductfactory(){returnnewConcreteProduct();}}抽象产品角色的主要目的是给所有的具体产品类提供一个共同的类型,在最简单的情况下,可以简化为一个标识接口。所谓标识接口,就是没有声明任何方法的空接口。2:抽象角色Product接口的源代码publicinterfaceProduct{}具体产

4、品类的示意性源代码如下。3:具体产品角色ConcreteProduct类的源代码publicclassConcreteProductimplementsProduct{publicConcreteProduct(){}}虽然在这个简单的示意性实现里面只给出了一个具体产品类,但是在实际应用中一般都会遇到多个具体产品类的情况。六.模式的优点和缺点1.模式的优点模式的核心是工厂类。这个类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例。而客户端则可以免除直接创建产品对象的责任,而仅仅负责“消费”产品。简单工厂模式通过这种做法实现了对责任的分割。2.模式的缺点正

5、如同在本章前面所讨论的,当产品类有复杂的多层次等级结构时,工厂类只有它自己。以不变应万变,就是模式的缺点。这个工厂类集中了所有的产品创建逻辑,形成一个无所不知的全能类,有人把这种类叫做上帝类(GodClass)。如果这个全能类代表的是农场的一个具体园丁的话,那么这个园丁就需要对所有的产品负责,成了农场的关键人物,他什么时候不能正常工作了,整个农场都要受到影响。将这么多的逻辑集中放在一个类里面的另外一个缺点是,当产品类有不同的接口种类时,工厂类需要判断在什么时候创建某种产品。这种对时机的判断和对哪一种具体产品的判断逻辑混合在一起,使得系统在将来进行功能扩展时较为困难。

6、这一缺点在工厂方法模式中得到克服。由于简单工厂模式使用静态方法作为工厂方法,而静态方法无法由子类继承,因此,工厂角色无法形成基于继承的等级结构。这一缺点会在工厂方法模式中得到克服。七.个人体会设计模式实际上是良好的OO思想的一种提炼。每一种设计模式后面都体现了一种良好的OO思路,这些思路对于解决软件中常见的“change”问题有很大的适应性,而每种模式又有自己独特的解决思路,带有一定的通用性。而组合各种模式又可以解决许多常见问题。不可否认的是,还存在一些未经总结的设计模式。实际上,你自己也可以总结一些模式出来。无论怎样,设计模式仍然是面向对象,它不是新东西,也没有必

7、要言必称设计模式—似乎不懂设计模式就落伍了,但给OO的开发者提供一个言简意赅的沟通桥梁。设计模式告诉了我们什么是好的OO思想,思考如何更好的应用OO的思想—虽然还是那几个耳熟能详的术语:封装、继承、组合、多态。设计模式首先是对传统的OO使用方法的矫正:如针对接口编程而不是实现;优先使用组合,而不是继承。其次是在原来理解上的突破:封装是对变化而言的,不仅仅是属性和方法的集合。类不仅是现实事物的抽象,同时它还具有责任。更有创新:依赖式注入。模式不是万能的,也并不总能完美地解决问题,因此每种模式都包括了影响的信息。在应用模式之前,我们必须先分析问题的情境,并评估模式的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。