ZZ2
小胜凭智 大胜靠德
      毕业设计已经做了一个多月了,当中累积了不少心得,打算以此来写一个系列文章,写论文的时候可以Copy一下...
      这次设计作品的选题是"基于.Net实现的电子商务系统",系统为B2C模式,设计目标是可以实现C/S和B/S结构协同管理,C/S部分负责与用户操作系统资源联系密切的功能,如数据筛选,复杂表格显示,打印等等,而B/S部分则负责在线的商品管理以及前台的网站,用于商品展示与订购等.因此系统需要划分各功能层,微软的PetShop给了我一个很好的启发,包括数据访问层,业务逻辑层和界面视图层.以下说明各层的职责:
      数据访问层,主要负责与数据库打交道,这里的数据库是泛指,可以是象Sql Server或Oracle这样的数据库管理系统,也可以是Xml文件,甚至是文本,因为这一层的最终结果是向上层提供符合.Net数据接口的数据,至于内部如何获取数据,获取什么类型的数据,其上层是无须关心的.这一层将会实现多数据库支持的接口,通过配置文件的设置来选择某一个支持的数据库,在实际的开发中,我选用了Sql Server作为数据的主要载体,同时系统通过接口配置还可以访问Oracle又或者Access,具体如何访问多种数据库在后面还会介绍.
      业务逻辑层,主要负责处理系统中的各种业务规则,如订购商品,生成订单等等,抽离出这一层也使C/S和B/S共存得到了更多的功能复用,简单来说,某一个方法即可以在C/S部分中调用,也可以在B/S部分中调用,在后面的文章里将回更进一步阐述.
      界面层,顾名思义就是给用户提供操作界面了.这一层中包括了窗体界面和网页界面,主要的职责是接收用户输入信息,返回结果,也就是调用业务逻辑层中的功能来实现需求,在这次的开发当中,B/S部分是直接调用业务逻辑层的方法,而C/S部分则通过Web Service来转向调用,这样的意图是将系统的业务逻辑部分存放在服务端,客户端的窗体程序只是充当一个操作界面,并通过网络服务来调用服务端的方法.至于B/S部分由于本身就存放在服务端,所以可以直接访问业务逻辑层中的方法而无须通过Web Service,这也考虑到可以将B/S这一块单独安装而不使用窗体系统,因为B/S部分本身就是一个动态网站.C/S是对其功能的扩展,关于C/S和B/S的职责区分,在后面会更详细讲述.
      最后,整个系统的最终方向由下面几张截图来抛砖引玉一下:

1,网站后台


2前台购物车


3,窗体管理系统
posted on 2007-03-17 15:34  Judy  阅读(6179)  评论(1编辑  收藏  举报