共享社区

首页 » 互联网资源共享社区 » .NET源码共享 » 用Asp.net + NHibernate开发网上书店(附源码)
abc - 2008-12-1 8:13:00
最近我正在用NHibernate和asp.net开发一个网上书店,算是实验。  用面向对象的方法(UML进行分析建模),用的是powerdesigner 12.5,建了一些用例图,活动图,和一个大的类图,然后生成了物理数据模型图,进而针对sql server 2005生成数据脚本(我用的是Express 版 + sql servermanagement studio express)。
  powerdesigner 针对NHibernate有支持,可以自动根据类图生成代码(CS code),映射文件(O/Rmapping)和数据访问层(DAL)。 生成的结构和效果相当棒。 我对映射文件进行了简单的修改由于PD(powerdesigner)支持的是NH 1.0 所以有些懂西要改,并且由于对象之间的关联比较复杂比如牵涉到继承的时候,生成的mapping 多少有些不足,一些 One to Many ,many tomany关联生成的不是很好,但One to One 和 one to many 生成的很好。
  现在Domain model ,映射文件,数据库,数据访问层都有了,就缺具体的应用了,我是用visual web developer 2008 express edtion 建立的solution。
这几天我对生成的文件进行了修改,加了业务逻辑层 (BookStoreBLL 工程)并进行了简单的测试: 用datagridView + objectDataSource + 业务层代码, 效果不错,可以实现查询,和修改,但删除没有实现。
我已将整个数据库和源代码都上传到我的博客园空间上了,下载地址:
http://files.cnblogs.com/ubestim/BookStoreWebSolution-new.zip
欢迎大家下载,我们可以共同学习这些技术,共同探讨如何使用,如何构造一个比较棒的项目。
出于文件大小的限制,我将debug中不太重要的dll删除了,在运行程序前,
请先阅读下载文件中的的配置说明。
项目的大致结构:

一个solution , 包含有8个工程文件。它们的依赖关系是这样的:

由于习惯,代码注释是英文的,后续上传的时候会改成中文。
重要补充需要对user表中的测试数据进行修改,update [user] set userRole='cust' 
update[user] set userRole='admin' where userid<2  (cust->customer;admin->administrator)因为userRole这一列用作识别子类的discriminator,参看user类的映射文件。
现在进度:
现在团队已经有4个人进行开发。
需要做的工作是尽快完成业务层,并且显示层(测试)能和业务层的并行进行(写好就测试)。

等全部完成之后,要对数据层进行重构(考虑用泛型),以使其符合标准,并优化之。业务层也会进行适当的重构,以应用更好的模型。
我们还要考虑怎么将MVC整进来,这是后话了。



希望感兴趣的朋友,多多支持,能多多讨论。有意参与开发的朋友请给我发邮件(ubestim@gmail.com



原文地址:http://www.cnblogs.com/ubestim/archive/2008/11/26/1341743.html
1
查看完整版本: 用Asp.net + NHibernate开发网上书店(附源码)