net + NHibernate开发网上书店(附源码)

 

source:http://www.cnblogs.com/ubestim/archive/2008/11/26/1341677.html

用Asp.net + NHibernate开发网上书店(附源码)


我正在学习NH和asp.net,最近在开发一个网上书店,算是实验。
用面向对象的方法(UML进行分析建模),用的是powerdesigner 12.5,建了一些用例图,活动图,和一个大的类图,
 然后生成了物理数据模型图,进而针对sql server 2005生成数据脚本(我用的是Express 版 + sql server management studio express)

powerdesigner 针对NHibernate有支持,可以自动根据类图生成代码(CS code),映射文件(O/R mapping)和数据访问层(DAL)。 生成的结构和效果相当棒。 我对映射文件进行了简单的修改 由于PD(powerdesigner)支持的是NH 1.0 所以有些东西要改, 并且由于对象之间的关联比较复杂比如牵涉到继承的时候,生成的mapping 多少有些不足,一些 One to Many ,many to many关联生成的不是很好,但One to One 和 one to many 生成的很好。

现在是 Domain model ,映射文件,数据库(数据库中有一个关系图 ,各字段在标定一种可以查看说明),数据访问层 都有了, 就缺具体的应用了,我用visual web developer 2008 express edtion 建立的solution。

这几天我对生成的代码进行了简单的修改(在NHibernateDALBase.cs中填加了几个方法)并添加了业务逻辑层 (BookStoreBLL 工程),进行了简单的测试: 用datagridView + objectDataSource + 业务层代码, 效果不错,可以实现查询,和修改,但删除没有实现。

现在我将真个数据库和源代码都上传到了我的博客园空间上了,下载地址:

http://files.cnblogs.com/ubestim/BookStoreWebSolution.zip

欢迎大家下载,我们可以共同学习这些技术,共同探讨如何使用,如何构造一个比较棒的项目。

出于上传文件的限制,我将好几个项目的debug下的dll都删掉了
在运行项目前请逐个编译一遍。
项目的大致结构:

一个solution , 中间有几个工程文件。它们的依赖关系是这样的

DommainModelModel  包含 Domain model 和映射文件
ModelIDAL 和 ModelNHibernateDAL 引用 DomainModel (所以Domain Model 不能引用数据访问层了 不让会造成循环引用)
IDAL 是数据层的接口
DALFactory 从字面上理解是 构造共厂,其作用就是 构造DomainModel 和DAL
IBLL 是业务逻辑层的接口,没什么东西,只是一个 BusinessException  把它独立出来 是为了 让 业务逻辑层 和 DomainModel 都可以引用它

BookStoreBLL 是业务逻辑层 引用 数据层(DAL),域对象(DomainModel) 和业务层接口(IBLL)

WebSolution 是网站, 引用BLL 和 DomainModel

网站下面 Admin 文件夹下准备存放后台管理页面 ,现在有一个Manage.aspx 我放了几个Ajax toolkit
中的控件,玩玩看,呵呵。
Default.aspx 是对现在的底层代码的测试,用了一个用datagridView  和 objectDataSource 测试的是CategoryBLL中的业务方法。

代码注释由于习惯关系,用的是英文。 后续上传的代码会改成中文注释。

好了, 希望感兴趣的朋友,多多支持,能多多讨论。有意共同开发的朋友,请给我发邮件(ubestim@gmail.com)或者留言。

Tag标签: Asp.net, NHibernate

posted on 2008-11-26 17:56 sunmoonone 阅读(218) 评论(6)  编辑 收藏 网摘 所属分类: asp.netOO过程

评论

#1楼  2008-11-26 18:17 上不了岸的鱼{ttzhang}      

沙发,dandan动作挺快啊,支持下   回复  引用  查看    

#2楼  2008-11-26 18:24 侯垒      

板凳,支持.   回复  引用  查看    

#3楼  2008-11-26 19:00 temptation      

感谢博主分享 ! 不过, VS2008打开解决方案,编译有些错,IDAL没引用到BookStoreDomainModelDALFactory类库中...   回复  引用  查看    

#4楼 [楼主] 2008-11-26 19:07 sunmoonone      

出于上传文件的限制,我将好几个项目的debug下的dll都删掉了
在运行项目前请逐个编译一遍。   回复  引用  查看    

#5楼 [楼主] 2008-11-26 19:13 sunmoonone      

如果在今天下载了项目,请在BookStoreDomainModelDALFactory中添加对IDAL项目的引用,然后在编译。 该回复发表后我会重新上传文件   回复  引用  查看    

#6楼  2008-11-26 19:16 上不了岸的鱼{ttzhang}      

把没有用的文件全删了吧,留着源代码不就OK了   回复  引用  查看    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值