基于.NET多层架构在中药材行业的电子商务平台的研究.doc

上传人:精*** 文档编号:880159 上传时间:2024-03-10 格式:DOC 页数:64 大小:2.68MB
下载 相关 举报
基于.NET多层架构在中药材行业的电子商务平台的研究.doc_第1页
第1页 / 共64页
基于.NET多层架构在中药材行业的电子商务平台的研究.doc_第2页
第2页 / 共64页
基于.NET多层架构在中药材行业的电子商务平台的研究.doc_第3页
第3页 / 共64页
基于.NET多层架构在中药材行业的电子商务平台的研究.doc_第4页
第4页 / 共64页
基于.NET多层架构在中药材行业的电子商务平台的研究.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、基于.NET多层架构在中药材行业的电子商务平台的研究摘要随着网络和通讯技术不断提高,互联网向商业化、社会化发展,中药材的交易市场也将迎来了电子商务时代。在传统的系统设计中,将数据库访问、业务逻辑及可视元素等代码混杂在一起,这样虽然直观,但是代码可读性差,耦合度高,也为日后的维护和重构带来不便。为了解决这个问题,本文提出了多层架构思想,即将各个功能明确分开,放在独立的层中,各层之间通过协作来完成整体功能,并结合中药材行业的特点对第三方的中药材电子商务平台实现。主要介绍和实现系统的业务实体类、数据层访问接口、数据库访问层、业务逻辑层、表示层和依赖注入机制。本文从中药材行业的电子商务发展现状说起,对

2、当前最热门的Web开发技术.NET和JAVA从技术应用进行分析与比较,阐述.NET构建电子商务平台中的优势,对.NET、多层架构思想做了说明。接着主要详解系统的总体架构设计以及系统的各层设计与实现,然后介绍了.NET的Web安全机制在本系统中的应用。关键词:.NET;电子商务;多层架构;AJAXResearch of e-commerce platform of Chinese herbal medicine industry by Multi-tier Architecture Based.NETABSTRACTWith the constant improvement of network

3、 and communication technology, internet develops to be commercial and social, and the exchange market of Chinese herbal medicines is also coming into e-commerce era. In traditional system design, the codes of database access, business logic and visual elements are mixed together. It is visual, but i

4、t will bring e inconvenience to future maintenance and reconstruction , that the codes are poor in readability, high in coupling degree.To solve this problem, this paper proposes thought of multi-tier architecture. That is to say, each function is separated definitely, and put into independent level

5、s, which accomplish the overall function by cooperation, then develops Chinese medicinal materials third party e-commerce platform, combined with the characteristics of Chinese herbal medicine industry .It mainly introduces achieves the class of business entity of the system, access interface of dat

6、a level, database access layer, business logic layer, expressing layer, and dependency injection mechanism. This paper begins with the development status of e-commerce of Chinese herbal medicine industry, then analyzes and compares Technical Application of the two Web development technologies, NET,

7、and JAVA, describes the advantage of the usage of .NET to construct an e-commerce platform, and explains the thought of multi-layer structure. Subsequently, it mainly explains the design of general frame of the system, as well as the design and Implementation of each level. Finally, It introduces th

8、e application of Web Security Mechanism in the System.Key words:.NET; E-commerce; Multi-tier Architecture; AJAX目 录1 绪论11.1 综述11.1.1 国内中药材行业电子商务发展现状11.1.2 电子商务开发技术概述21.1.3 多层架构概述31.2 问题的提出42 基本理论与基础知识62.1 电子商务理论62.1.1 什么是电子商务(Electromic Commerce)62.2 .NET平台62.2.1 ASP.NET简介72.3 AJAX技术92.3.1 AJAX简介93 系

9、统总体架构及设计开发流程123.1系统总体架构设计123.1.1 层次的划分123.1.2 各层的职责划分123.1.3 层次模块的划分及交互设计133.2设计开发流程154 系统多层架构的设计和实现164.1 业务实体的确定及数据库设计164.1.1 确定实体164.1.2 数据库设计164.2 业务实体类设计194.2.1 业务实体类概述及其作用194.2.2 业务实体类的实现194.3 访问接口设计204.3.1 接口概述及其作用204.3.2 数据访问层接口的设计214.4 数据访问层实现234.4.1数据访问层概述及实现要求234.4.2数据访问层的实现244.5 依赖注入机制的设计

10、与实现274.5.1 依赖注入与控制反转274.5.2 依赖注入机制的具体实现284.6 业务逻辑层的实现314.6.1业务逻辑层概述及实现要求314.6.2业务逻辑层的实现324.7 表示层的实现334.7.1表示层概述334.7.2表示层的实现345 基于.NET的Web安全机制395.1 ASP.NET安全机制395.1.1 ASP.NET安全体系结构395.1.2 身份验证和授权策略395.2 .NET的Web安全性配置405.2.1 配置.NET安全性的步骤405.2.2 配置IIS建立安全连接405.2.3 配置ASP.NET安全性42总结45参考文献46附录A:核心代码摘要47致

11、谢6059基于.NET多层架构在中药材行业的电子商务平台的研究1 绪论1.1 综述1.1.1 国内中药材行业电子商务发展现状随着网络和通讯技术不断提高,互联网向商业化、社会化发展,中药材的交易市场也将迎来了电子商务时代。中药材领域引进电子商务,是信息时代发展的大趋势。根据有关数据显示:在欧洲,药剂师协会下属的药店,90%以上都开展网上药品预订服务。美国有1000多家网上药店,市场规模将近1700亿美元。而在中国,由于网络药品交易刚刚放开,药材企业还处于犹豫不决阶段。但也正是因此,中国的中药材电子商务中蕴藏了巨大的商机。有关调查显示,北京有近13患者选择去药店购药,在流动人口比例更高的深圳这个比

12、例则为40%。这都表明中国医药零售市场的规模正在扩大。中国医疗体制改革带来的医药分业、建立职工医疗保险制度、颁布国家基本用药目录清单、实行处方用药(RX)和非处方用药(OTC)分类销售等,都将在另一个层面上进一步促进医药零售市场的兴旺。结合我国网络基础设施和网民数的发展态势,可以预见我国C TO C医药商务将是一个潜力巨大,商机无限的领域。中药材有许多适合网上销售的特点:药材的体积小、重量轻,便于运送;药品有明确的规范标准,便于网上介绍说明等。传统医药经营模式需要通过批发商、供应商及医药公司等众多中间环节。但中间环节大大提高了药品的价格,而药品网上销售却可以避开不必要的中间环节,使药材、药品的

13、价格得以大幅降低。因此,药材网上销售的价格优势非常显著。另外,有时人们要排长队抓药,甚至不得不在公众场合公开自己的病情,而网上售药基本可以免除这些麻烦和尴尬。正是基于这些前提,网上售药比传统药店有着无可比拟的优越性;真正意义上的药材电子商务是以第三方的电子平台为桥梁,建立医药生产企业、物流、医院或诊所直接联系的模式,实现信息、物品、资金的完全统一。这样,由多渠道、多环节、“人人接触”、决策分散化转变为单一渠道、单一环、“人机对话”,使得决策集中化。这样既可以反腐纠风、杜绝回扣,降低药品的人为成本,可以缩减中间环节,降低药品的流通成本,还可以使药品的购进便捷、快捷,可以降低药品的库存率,提高资金

14、的周转率,并且可以为决策提供有益的数据。目前,我国的中药材行业电子商务发展水平比较低,从中药材的电子商务类网站的数量和经营范围、发展模式来看就知道中药材电子商务的价值链条并未得到有效的开发,中药材作为一种实用的商品,是很适合从事网上交易的。从药品的生产到流通上市各个环节都必须严格按照国家相关标准来执行,所以在药品质量、包装规格、主要成分、主要功能、适用范围等等都可以用具体的量化数据来衡量,消费者如果能够通过互联网这种透明、开放的环境对比挑选药品,买卖双方信息就比较对称,操作过程也比较透明,可以很好的减少中药材流通过程中的暴利行为,给中药材最终消费者最大的实惠,也能有效的促进行业的发展和国家的医

15、疗改革。同时,中药材电子商务市场化程度不高。目前就第三方交易平台来说,全国就是5家,而且这些平台主要是用于医疗系统药品及器械的采购招投标。1.1.2 电子商务开发技术概述Java技术要比.NET技术早成熟,并且很多概念都是在Java中提出的,Java首先带来了很多创建性的东西,框架和模型要比.NET的更多更成熟。但是Java的开发效率就比较低,而且开发成本通常较高,现在大多数电子商务企业几乎不会考虑用Java去开发,毕竟技术一直向前发展。为什么Java在某些部分存在着众多不足,如:运行效率、学习难易、开发工具不足、界面,但开发较大的项目胜任有余,原因就在于,架构上的优势获得的效率远比于上述这些

16、东西的影响要大。举个简单的例子,要提高一个程序的效率(特别在图像处理和一些科学计算领域),用更好的算法往往能获得效率的巨大提高,而细节代码的改善相对有限。Java在开发工具、与WINDOWS的接口紧密度、桌面程序开发、程序界面等方面处于劣势,同时在标准的组件上不如.NET齐全和方便。.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需

17、。对个人用户的好处是无缝的、吸引人的体验。.NET提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。微软为ASP.NET设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。简单的讲.NE

18、T只是一种现代的架构,是最近几年最流行的技术,运用的是C#(C SHARP)语言,系统只在window平台上运行,Web系统当然首选自然在IIS服务器上了。项目开发效率高、成本低、速度快,开发的技术简单,没有那么多压力和障碍。.NET的在开发效率、成本、技术要求等方面的优点,决定了.NET作为电子商务开发的首先技术。1.1.3 多层架构概述在传统的系统设计中,将数据库访问、业务逻辑及可视元素等代码混杂在一起,这样虽然直观,但是代码可读性差,耦合度高,也为日后的维护和重构带来不便。为了解决这个问题,本文提出了多层架构思想,即将各个功能分开,放在独立的层中,各层之间通过协作来完成整体功能。 多层架

19、构的提出,是软件开发思想的一个重大进步。它的出现,在很大程度上解决了软件开发中的强耦合问题,也为编写代码清晰、可维护性良好的系统提供了思想基础。 Martin Fowler在企业应用架构模式一书中对分层架构的优势描述如下:l 开发人员可以只关注整个架构中的其中一层 l 可以很容易地用新的实现替代原有层次的实现 l 可以降低层与层之间的依赖 l 有利于标准化 l 有利于各层逻辑的复用 概括来说,分层架构设计可以达到如下目的:分散关注,松散耦合,逻辑复用,标准定义。当然,任何事物有利也有弊。分层架构的一大缺点就是降低了系统的性能,因为本来直接完成的功能现在需要多次调用才能完成,自然使得性能下降。所

20、以,分层架构可以说是以牺牲系统性能换取可维护性的手段。 可以看出,系统的性能和可维护性是一对矛盾,鱼和熊掌和难兼得,所以在使用分层架构设计系统时,要把握一个度,不能过于极端的强调性能或可维护性,而是应该根据系统的具体情况,取两者的折中。目前,最成熟的多层架构体系应该是Java平台上的J2EE构架,目前,以Struts、Hibernate和Spring为主的轻量级J2EE架构已经成为分层架构的经典。而在其他平台,如.NET、PHP平台,尚无成熟的分层架构框架。1.2 问题的提出微软(Microsoft)公司的.NET平台自出现以来,凭借其先进的设计思想、丰富的类库、强大的能力和完善的IDE及开发

21、帮助文档获得了众多开发者的青睐。尤其在Web开发平台方面,ASP.NET凭借其完善的面向对象模型和独树一帜的控件式开发方式将Web开发这一技术领域提高到一个前所未有的新境界。然而,令人遗憾的是,到目前为止,仍没有一个基于.NET平台的经典多层架构体系。反观其竞争对手Java平台,从EJB到轻量级框架,基于J2EE平台的多层架构已相当成熟和完善。目前,基于.NET平台的多层架构一般都是模仿微软官方给出的范例“.NET Pet Shop”。虽然“.NET Pet Shop”是一个经典的基于.NET平台的B/S系统多层架构示例,然而也有许多不足,如:1) 结构过于复杂,有点为分层而分层的感觉,对实际

22、项目指导力不足。2) 实现方法单一。如数据访问层是使用的朴素实现,即手工组合参数,然后动态生成SQL语句和调用存储过程。然而在实际中,可能有更多的实现方式,例如通过ORM实现,这就需要进一步讨论数据访问层的共性,从更高的抽象层次上对其进行理解和掌握,而不是仅仅把数据访问层看成一种具体的实现。 3) 业务逻辑层没有针对接口编程,而是针对现实编程。这样,势必造成业务逻辑层和表示层的强耦合。 4) 表示层使用的是同步模型,没有异步模型元素。然而,在Ajax等异步模型使用越来越广泛的今天,我们想知道如何将异步模型融入到多层架构中,而由于异步模型的加入,各层之间会出现什么变化,.NET Pet Shop

23、并没有告诉我们答案。基于以上几点,可以看出,现在迫切需要改进.NET平台上的多层架构开发。本文的研究目的,是通过对多层架构思想、设计模式、软件工程、.NET平台以及Web2.0思想等论题的研究,寻找一种合理、简练、通用、易用、安全、具有良好的可维护性和可扩展性并且融入最新技术元素的基于.NET平台的多层架构模式。而且要通过中药材行业的第三方电子商务平台的实例展现出来。2 基本理论与基础知识2.1 电子商务理论2.1.1 什么是电子商务(Electromic Commerce)电子商务,英文是Electronic Commerce,简称EC。电子商务通常是指是在全球各地广泛的商业贸易活动中,在因

24、特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方互不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。“中国网络营销网” Tinlu的相关文章指出,电子商务涵盖的范围很广,一般分为企业对企业(Business-to-Business),或企业对消费者(Business-to-Customer)两种。另外还有消费者对消费者(Customer-to-Customer)这种大步增长的模式。随着国内Internet使用人数的增加,利用Internet进行网络购物并以银行卡付款的消费方

25、式已渐流行,市场份额也在迅速增长,电子商务网站也层出不穷。电子商务最常见之安全机制有SSL及SET两种。通俗地说,电子商务就是在网上开展商务活动当企业将它的主要业务通过企业内部网(Intranet)、外部网(Extranet)以及因特网(Internet)与企业的职员、客户、供应商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。2.2 .NET平台.NET这个名称涵盖了微软的主要开发平台。这个主题十分广泛,包含了许多规范,如组件格式、编程语言、标准类库和工具等。它主要包括一下内容: .NET Framework(架构),包括:Common Language Runtime(CLR)(通

26、用语言运行环境),这是用于运行和加载应用程序的软件组件;新的类库,分级组织了开发者可以在他们的应用程序中用来显示图形用户界面、访问数据库和文件以及在Web上通信的代码集。 .NET开发者工具,包括:Visual Studio .NET Integrated Development Environment (IDE)(Visual Studio .NET集成开发环境),用来开发和测试应用程序;.NET编程语言(例如Visual Basic .NET和新的Visual C#),用来创建运行在CLR下并且使用类库的应用程序。 ASP .NET,一个取代以前的Active Server Pages(A

27、SP)的特殊类库,用来创建动态的Web内容和Web服务器应用程序,这些都将采用诸如HTML、XML和Simple Object Access Protocol(SOAP)(简单对象访问协议)等Internet协议和数据格式。 .NET framework的组成如下:图2.1 .NET framework结构图2.2.1 ASP.NET简介ASP.NET是统一的Web应用程序平台,它提供了为建立和部署企业级 Web 应用程序所必需的服务。ASP.NET为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。ASP.NET是Microsoft .NET

28、Framework的一部分,是一种可以在高度分布的Internet环境中简化应用程序开发的计算环境。.NET Framework包含公共语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含.NET Framework类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。 ASP.NET 提供了下面的优点:可管理性:ASP.NET使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和Web应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。安全:ASP.NET

29、为Web应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。增强的性能:ASP.NET是运行在服务器上的已编译代码。与传统的Active Server Pages (ASP)不同,ASP.NET能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。 灵活的输出缓存:根据应用程序的需要,ASP.NET可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓

30、存中的文件或其他项目,或者可以根据过期策略进行刷新。国际化:ASP.NET在内部使用Unicode以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。移动设备支持:ASP.NET支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。 扩展性和可用性:ASP.NET被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet信息服务 (IIS) 和ASP.NET运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。跟踪和调试:ASP.NET提供了跟踪服务,该服务

31、可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET支持使用.NET Framework调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。 与.NET Framework集成: 因为ASP.NET是.NET Framework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET类库以及消息和数据访问解决方案。ASP.NET是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用

32、性还保存了基于 COM 开发的现有投资。 2.3 AJAX技术2.3.1 AJAX简介Ajax这一术语是短语Asynchronous JavaScript and XML,中文译作“异步式JavaScript与XML”,它是近几年出现,并迅速红遍大江南北的一项技术。严格来说,Ajax不是一个新技术,而是几种已有技术的组合,或者也可以说是一种模式,它主要包括一下项技术:l 基于Web标准的XHTML+CSS的表示。 l 使用DOM(Document Object Model)进行动态显示及交互。l 使用XML和XSLT进行数据交换及相关操作。l 使用XMLHttpRequest进行异步数据查询、

33、检索。传统的Web应用允许用户填写表单,当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,Ajax应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的Web Service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理

34、工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。Ajax应用程序的优势在于:1) 通过异步模式,提升了用户体验。 2) 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。 3) Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。AJAX技术的实现原理:图2.2传统同步模式下请求示意图图2.3 AJAX异步模式下请求示意图图2.2显示了在传统的同步模型情况下,B/S架构的系统是如何工作的。在这种架构下,客户端发出请求,可能是单纯请求一个新页面,也可能是提交了包含数据的表单。不论怎样,这些请求信息将被提交到

35、服务端,在从提交开发,客户端就进入“假死”状态,服务端收到请求信息及数据,按照指定的程序对其进行处理,然后把响应信息交给客户端,这些响应信息是完整的页面。客户端接到响应信息后,把它们显示在浏览器中。 图2.3是基于Ajax技术异步模型下B/S系统的工作原理图。在这里,客户端不再直接向服务端发出请求,而是通过一个XMLHttpRequest对象发送一个异步请求,而后,服务端接收到请求和数据,开始按照程序进行处理,而此时的客户端不必等待,可以继续做自己的工作。当服务端完成处理后,将自动调用一个在发送请求时指定的回调函数,这个回调函数一般使用JavaScript对页面的DOM进行操作,完成页面的更新

36、。而整个这个过程是不需要刷新页面的。本系统采用了微软公司官方发布的用于.NET平台的ASP.NET AJAX框架。可以说这个框架是目前对Ajax技术最完备的封装,它的出现使ASP.NE上的Ajax应用编写变得简单很多。3 系统总体架构及设计开发流程3.1系统总体架构设计3.1.1 层次的划分目前,典型的分层架构是三层架构,即自底向上依次是数据访问层、业务逻辑层和表示层。这种经典架构经历了时间的考验和实践的多次检验,被认为是合理、有效的分层设计,所以,在本系统中,将沿袭这种经典架构,使用数据访问层、业务逻辑层和表示层的三层架构体系。3.1.2 各层的职责划分目前,在典型的三层架构中,对层次各自的

37、职责划分并没有一个统一的规范,综合现有的成功实践和.NET平台的特殊性,在本文中将三层架构的职责划分如下:数据访问层负责与数据源的交互,即数据的插入、删除、修改以及从数据库中读出数据等操作。对数据的正确性和可用性不负责,对数据的用途不了解,不负担任何业务逻辑。业务逻辑层负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户性数据不负责,对数据的呈现样式不负责。表示层负责接收用户的输入、将输出呈现给用户以及访问安全性验证。对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息负责。各层的职责划分见图3.1所示:图

38、3.1 多层架构的职责划分3.1.3 层次模块的划分及交互设计综合以上分析,可在宏观上将整个系统分为一下几个模块:业务实体类模块一组业务实体类的集合,负责整个系统中数据的封装及传递。数据访问层接口族一组接口的集合,表示数据访问层的接口。数据访问层模块一组类的集合,完成数据访问层的具体功能,实现数据访问层接口族。 业务逻辑层模块一组类的集合,完成业务逻辑层的具体功能,实现业务逻辑层接口族。表示层模块程序及可视元素的集合,负责完成表示层的具体功能。反射工厂模块负责依赖注入的实现。辅助类模块完成辅助性功能。各个模块的划分及交互性如图3.2所示:图3.2 初始总体架构图根据以上的设计,本系统的工程结构

39、图如图3.3所示,详细说明见表3.1所示:图3.3 系统工程结构图表3.1 项目工程说明序号项目名称描述1Web表示层2Model业务实体3BLL业务逻辑层4DALFactory数据层的抽象工厂5IDAL数据访问层接口定义6SQLServerDALSQLServer数据访问层7OracleDALOracle数据访问层8AccessDALAccess数据访问层9DBUtility数据库访问组件基础类10Common通用类集合11Controls继承控件类3.2设计开发流程基于软件工程的分析,现将基于.NET平台的多层架构中药材行业的电子商务系统开发划分为以下几个阶段:1) 业务实体的确定2) 设

40、计数据库3) 业务实体类设计4) 数据层访问接口设计5) 数据访问层实现 6) 依赖注入机制的设计与实现7) 业务逻辑层的实现 8) 表示层的实现9) 整合调试 10) 实现其他实体相关模块11) 总体测试4 系统多层架构的设计和实现4.1 业务实体的确定及数据库设计4.1.1 确定实体根据对中药材电子商务平台系统简要的需求分析,可以确定出以下主要的几个业务实体:1) 商品(Product):代表店主发布的商品信息,包括各种分类商品2) 订单(Order):代表会员下的订单。包括子订单信息3) 购物车(ShopCart):代表会员使用的购物车4) 商铺(Store):代表会员注册开的商铺。包括

41、商品信息等5) 商品分类(Category):代表商品的分类栏目6) 会员(Member):代表使用该平台的会员7) 配送(Send):代表物流配送方式8) 支付(Payment):代表支付方式9) 帮助(Help):代表系统的帮助中心10) 公告(Notice):代表系统的公告栏11) 广告(Advert):代表系统的广告服务12) 网站信息(SiteConfig)代表系统的配置信息4.1.2 数据库设计本系统的中药材电子商务平台解决方案有五个数据库Product、Profile、Store、Order和ASPNETDB,它们存储的分别是商品信息、系统配置信息、商铺信息、订单信息以及用户信息

42、。这样可以方便数据的管理,可以有专门的人员拥有专门的权限去分别对这些信息进行查询、管理、维护等操作。使用Web.Config应用程序设置,用户可以对数据库的设置进行部署,程序可以通过里面的设置进行数据库连接,增强了系统的可移植性。数据库设计结构图如图4.1所示:图4.1 数据库设计图根据业务实体设定以及简要的需求分析,数据库设计如下表4.1至4.4所示:表4.1 Profile数据库的数据表表 名说 明Advert存储广告信息FeedBack存储留言信息FriendLink友情链接信息Help帮助详细信息HelpClass帮助的类型SiteConfig系统网站的配置信息EmailFormat邮

43、件信息模板Notice系统网站公告信息表4.2 Store数据库的数据表表 名说 明Store商铺的详细信息StoreLevel商铺的等级信誉信息StoreMembers商铺的验证资料表4.3 Order数据库的数据表表 名说 明Address用户送货地址信息Order订单信息OrderItem订单子目录信息Payment支付方式信息ShopCart购物车信息表4.4 Product数据库的数据表表 名说 明Area地区所在地信息Category商品分类目录信息Product商品详细信息ASPNETDB数据库有系统生成,包含的数据表的关系图见图4.2:图4.2 ASPNETDB数据库数据表的关

44、系图4.2 业务实体类设计4.2.1 业务实体类概述及其作用业务实体类是对实体的封装,是现实世界中实体的计算机表示。它通常包括私有变量及对应的get、set方法,而在C#语言中,将get、set方法又组合成属性。这些私有变量或者属性,则对应现实实体相应的属性。业务实体类的作用主要有两个,一是作为现实实体的计算机代表,二是数据的传递。在分层架构的应用中,数据正是封装在实体类中,然后以实体类为载体在各个层次间传递。这样不但符合面向对象设计的原则,也便于对数据存取进行控制。4.2.2 业务实体类的实现本文约定,业务实体类命名规则为“业务实体名+Info”,这些业务实体类都被放到Model程序集中,例

45、如数据表ShopCart对应的业务实体类为ShopCartInfo;其业务实体类的类图见图4.3:图4.3购物车ShopCartInfo业务实体类类图根据以上的分析,可以实现业务实体类的模块Model的其它实体,见图4.4所示:图4.4 业务实体类集合Model具体Model项目的ShopCartInfo业务实体类的完整代码见附录A。4.3 访问接口设计4.3.1 接口概述及其作用这里的“接口”一词,特指在分层架构中底层向顶层开放的可调用方法。接口在技术上编写难度不大,但是其意义十分重大。总体来说,接口有着一下几个作用:1) 接口明确了各层次的职责。2) 接口决定了各个层次具体需要实现的功能。

46、3) 接口形成了整个分层架构的骨架 。4) 接口暴露了层次的API,为上层提供了依赖点。因此,接口的设计实际上处在现实需求和程序实现之间,起到承上启下的用。它决定了需求分析中的各个需求如何合理地映射成各个层次的不同方法。4.3.2 数据访问层接口的设计因为接口直接关系到层次的职责,所以,在设计数据访问层接口之前,需要对数据访问层的职责进行明确。抽象的接口模块IDAL,与具体的数据库访问实现完全隔离。这种与实现无关的设计,保证了系统的可扩展性,同时也保证了数据库的可移植性。在本文中,将数据访问层接口职责叙述如下:数据访问层负责与数据源的交互,负责数据的创建、删除、更新及查询工作。它不应该包含任何业务逻辑或可视性元素,对它所处理数据的业务意义是“无知”的。它与数据库系统一起负责数据完整性。具体来说,数据访问层的接口一般包含以下几种类型的操作:创建:在数据库中插入新记录,无返回值或返回表示操作状态的标志值。 删除:在数据库中删除符合条件的记录,一般无返回值或返回表示操作状态的标志值。 更新:将数据库中符合条件的记录更新,一般无返回值或返回表示操作状态的标志值。 单实体查询:从数据库

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922