设计模式在物流模块开发中的选择与应用

时间:2022-08-30 11:49:04

设计模式在物流模块开发中的选择与应用

摘要:本文以电子商务网站设计中物流模块开发为实例,从需求分析、逻辑设计与模式选择和类的设计几个方面,具体说明设计模式的选择和运用方法,不仅成功的实现了一个全新架构的、性能优越的物流模块,而且在系统的设计与开发中所采用的一些设计技术和方法具有很强的通用性,稍加改动就可以应用到其它领域。

关键词:电子商务网站;物流;设计模式

中图分类号:F019.3 文献标识码:A

引言

设计模式这个概念最初产生于建筑行业。设计师(设计建筑物而不是计算机系统)意识到他们需要共享有关正确设计技术的想法。这些想法是在可以使设计师团体从分享经验和教训中获益的设计模式中形成的。设计模式在80年代后期从建筑业进入计算机系统领域。面向对象(Object-oriented,OO)原则逐渐得到普及,而设计模式成为培育新的OO追随者的最佳实践。[1]

本文的研究重点是对业务变化频繁的业务需求,如何进行设计模式的选择与运用,从而获得其普遍规律。研究的方法可以通过以下几个步骤:

(1)介绍设计模式的使用环境、结构、收益与代价。

(2)以电子商务网站系统中物流模块开发为具体例子,说明在.NET环境下业务设计过程中,设计模式的选择与作用。

一、基于.NET环境的设计模式

.NET集成了先进的软件体系结构的理念,应该说与微软以前推出的运行环境和编程语言相比有革命性的变化。.NET战略将Internet本身作为构建新一代操作系统的基础,并对Internet和操作系统的设计思想进行延伸,使开发人员能够创建出与设备无关的应用程序,方便的实现Internet应用。.NET包括一系列覆盖各个方面的产品,这些产品符合XML和Internet产业标准,为用户提供Web服务的开发、管理和应用。

反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等、还可以获得每个成员的名称、限定符和参数等。 [2]

委托技术是NET引入的一种重要技术,使用委托可以实现对象行为的动态绑定,从而提高设计的灵活性。NET运行库支持称为“委托”的引用类型,其作用似于C++中的函数指针。[3] 。委托主要用于.NET Framework中的事件处理程序和回调函数,NET中的委托更进一步地降低了对象间的耦合性,将静态的组合关系变为运行时的动态组合关系。

以下将介绍电子商务网站中的物流。

二、电子商务网站中的物流

物流对电子商务的实现很重要,电子商务对物流的影响也肯定极为巨大,电子商务条件下商流和物流的一般流程可简要表述如下:

(1)企业将商品信息通过网络展示给客户,客户选择需要购买的商品,并填写订单。

(2)厂方通过订单确认客户,通知自己的应用系统组织货源程序。

(3)客户通过电子结算与金融部门交互执行资金转移。

(4)金融部门通过电子邮件(或其它方式)通知买卖双方资金转移的结果。

(5)厂方组织货物,并送达到客户手中。

从上述电子商务的实际流程中,电子商务是集信息流、商流、资金流、物流为一身,是整个的贸易交易过程。

而电子商务下的物流系统就必须具备如下特征:

1整个系统具有无限的开放性

2物流节点普遍实行信息化管理

3信息流在物流过程中起引导和整合作用

4系统具有明显的规模优势

由于物流系统必须经常适应需求的变化,需要经常和数据库打交道,外界发生的变化通常会改变物流系统的工作流程,因此设计物流系统时引入设计模式将使物流系统自适应外界的变化,设计人员无需或者只要进行少量的修改即可使系统正常随需求工作。

三、设计模式在物流模块中的选择和应用

电子商务网站中很核心的部分是物流模块,物流模块也是业务频繁变更最多的,因此,有必要对物流模块引入设计模式。本节主要从模式选择以及类的实现具体来分析设计模式的作用,最后给出算法评估。

1.逻辑设计与模式选择

如果采用.NET的委托技术,电子商务网站物流系统最难设计的自定义问题可以更加灵活。采用委托技术可以进一步实现用组合代替继承的思路,很多采用继承实现的关系可以采用委托实现。采用委托可以简化下列设计模式的使用。[4]

(1)模板方法:这种方法采用继承实现具体方法,采用委托可以动态实现方法的组合。

(2)观察者:可以使用事件委托实现观察者与主题之间的通信。

(3)中介者:使用委托可以去除工件与中介者之间的耦合关系。

2.类的设计

从以上的分析可以抽象出电子商务网站物流系统应该有以下类并实现如下方法:

(1)商品信息类:

该类主要实现商品信息的添加、修改、删除、检索等功能。

(2)订单信息类:

该类主要实现订单的生成、订单的修改、订单的确认及订单的查询等功能。

(3)资金类:

该类主要实现资金的入账、出账、结算、统计等功能。

(4)通用类:

该类主要实现数据库的连接、数据库的操作、数据表的建立、数据表的删除等一系列的操作。

从以上的类的设计中,可以清楚的看到,物流系统已不直接依赖于业务流程,所有的操作都通过类来实现。因此,当外界的业务发生变换时,整个物流系统不需要进行很大的修改,只需对相关业务流程的类进行微调即可。

3.算法评估:

由于专用类设计的涵盖广且用户使用时可以自由选择和配置,从而使得这套系统在广度和深度上的适用性都比较好。

对大多数电子商务网站来说,其过程流程可以按标准来自动生成。少部分即便需要调整,那么调整的工作量也不大了。

如果由于政策等原因需要对网站流程做出大的调整时,只需系统维护定义人员对对应流程做出相应的调整即可,这个调整只需一次。

四、结束语

设计模式的选择与运用研究是一个系统的工程,牵涉到诸多的理论和技术。由于研究时间和研究条件的限制,论文中存在着许多有待改进的地方。因此,在本论文工作的基础上,今后可以进一步研究的方向有:

(1)目前只能为二次开发提供了方便,以及部分自适应的实现。但对系统完全自适应业务变化的功能尚未实现。

(2)本论文中涉及到的设计模式选择只是单纯的用于独立的“电子商务网站物流系统”中,它能解决给定业务频繁变更问题。因此,其他业务特殊性带来的设计模式选择策略是今后研究的重点。

(3)本课题中涉及到设计模式是以.NET为环境背景的,对以其他开发语言环境下业务频变更带来的设计模式选择问题,也是今后研究发展的部分。

(4)限于本人的精力、技术和时间的仓促,因此要改进的地方比较多。还包括评价理论在系统中体现的还不够充分,使快速准确地评价一个设计模式优劣尚不能很好地实现。

作者单位:无锡商业职业技术学院

参考文献:

[1]雷英杰,邢清华,王涛.人工智能(AI)程序设计[M].北京:清华大学出版社,2005:35-37.

[2]钟义信.2006年人工智能国际会议论文集[D].北京:北京邮电大学出版社,2006:107-109.

[3]纽恩.Web应用测试[M].北京:清华大学出版社,2006:22-24.

[4]拉曼(Larman,C.).UML和模式应用[M].南京:南京大学出版社,2005:125-128.

上一篇:浅析我国独立董事制度及其在物流企业的作用 下一篇:论供应链下对供应商的管理