发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明
      大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习。但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统和完整的源代码。

      但是后来一直有很多朋友询问这个事情,所以我觉得,将那个NGuestBook做出来还是很有必要的,所以,我花了两天的时间大约做出了这个NGuestBook,现在把它发布出来,希望能给大家一些帮助。

这个NGuestBook与文章中案例的联系与区别
      虽然这个留言本系统与那个系列文章中的NGuestBook同名,但是就具体实现来说,有一些不同。虽然如此,“分层架构”这个核心还是一样的,所以,这个Demo完全可以和那个文章系列配套使用,因为其核心架构思想、方式基本一致,只是具体实现有了一些差别。

NGuestBook功能概览
      NGuestBook是一个留言本系统,主要实现了以下功能:

      1.发布留言,浏览留言
      2.管理员的登录、登出
      3.管理员对留言进行审核、删除、回复

      下面给出几幅系统运行截图:

NGuestBook总体架构说明
      1.整体采用三层架构:数据访问层、业务逻辑层、表示层
      2.数据访问层使用Linq to Sql,XML,及SQL语句方式分别实现一个,在这个发布版本中,只有Linq to Sql方式的数据访问层可以使用,另外两个留出扩展。
      3.业务逻辑层通过接口耦合数据访问层,全局采用Abstract Factory+反射机制+缓存机制实现依赖注入功能。
      4.表示层使用ASP.NET MVC实现,与业务逻辑层直接耦合。

      工程说明:

      NGuestBook.BusinessComponent:业务逻辑组件
      NGuestBook.Entities:实体类
      NGuestBook.Factories:依赖注入组件
      NGuestBook.Interfaces:接口组件
      NGuestBook.LinqDataComponent:使用Linq to Sql实现的数据访问组件
      NGuestBook.SQLDataComponent:使用SQL实现的数据访问组件
      NGuestBook.Utilities:工具组件
      NGuestBook.Web:表示层
      NGuestBook.XMLDataComponent:使用XML实现的数据访问组件

特别说明
      1.数据库文件在/NGuestBook.Web/Data/SQLServer2005下。
      2.这个系统还不太完善,只为了突出架构特征,而一些细节像分页、验证码等功能没有加入。
      3.这个系统没有加入Ajax元素。
      4.这个系统的目的是交流学习的Demo,并不是真正要投入使用,如果真要做一个留言本,完全没有必要用这么复杂的架构,这里只是为了突出架构的方式。所以请不要在留言中表达“做个留言本没必要如此复杂”或“留言本我一个小时就能做出来”之类的意思。

版权声明
      本系统和源代码部分或全部可以任意拷贝、传播或用于自己的系统中,但不包括用于商业用途。
      本系统中自由传播的成分仅仅包括代码,而其中一些原创的思想或模式(包括但不限於“数据验证模式”,“基于ASP.NET MVC的回传模型重组模式”等)等一些理论性内容已经纳入本人的论文选题内,所以不允许将本系统中原创的思想或模式撰写成论文,一经发现将追究法律责任。

开发/运行环境
      Windows XP SP2 中文版
      Microsoft .NET framework 3.5 SP1
      Microsoft Visual Studio 2008 SP1
      Microsoft ASP.NET MVC RC
      Microsoft SQLServer2005

NGuestBook下载
     

配置说明
      连接字符串在/NGuestBook.LinqDataComponent/app.config中,请根据具体情况自行修改。
      管理员的登录名和密码在/NGuestBook.Web/Web.config中,<appSettings>节点下的"AdminName"和"AdminPassword",默认均为"admin"。需要可以自行修改。

作者:T2噬菌体
出处:http://leoo2sk.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

2
0
(请您对文章做出评价)
« 上一篇:OOA&D实践之路——真实案例解析OO理论与实践(五、需求分析之前的故事)
» 下一篇:NGuestBook架构体系及实现指南
posted @ 2009-02-19 23:54 EricZhang(T2噬菌体) 阅读(5167) 评论(207)  编辑 收藏 网摘 所属分类: .NET

评论共3页: 上一页 1 2 3 
  回复  引用  查看    
#108楼2009-02-20 13:37 | Sunshushou      
sunshushou@126.com,发一份学习一下。谢谢。
  回复  引用  查看    
#109楼2009-02-20 13:40 | peter.deng      
要一份 謝謝了 樓主 我的郵箱:476074295@qq.com
  回复  引用  查看    
#110楼2009-02-20 13:41 | 鱼蛋      
等lz放出下载,邮箱就不留了

  回复  引用  查看    
#111楼2009-02-20 13:58 | liyao_2009      
多谢楼主,给俺也来一份 :)
rocky0121@gmail.com

  回复  引用    
#112楼2009-02-20 14:00 | wgm
多谢。wgmhx@hotmail.com
  回复  引用    
#113楼2009-02-20 14:00 | qiangge_29[未注册用户]
多谢大公无私!
E_mail:qiangge_29@yahoo.com.cn

  回复  引用    
#114楼2009-02-20 14:16 | 停赛[未注册用户]
jy00361722@gmail.com
感谢大大!

  回复  引用  查看    
#115楼2009-02-20 14:17 | jowo      
zjw2004112@163.com
  回复  引用    
#116楼2009-02-20 14:20 | rxiao[未注册用户]
顺路求一份,非常感谢,email:rxiao@126.com
  回复  引用  查看    
#117楼2009-02-20 14:20 | 海洋      
发一份看看
jetaimefj@163.com

  回复  引用    
#118楼2009-02-20 14:22 | yanmenguan[未注册用户]
waryu100@hotmail.com

我也要一份,谢谢!

  回复  引用    
#119楼2009-02-20 14:31 | zxfzxf[未注册用户]
我也要一份,谢谢!267456602@qq.com
  回复  引用  查看    
#120楼2009-02-20 14:44 | 平静中的疯狂      
zrc000@gmail.com
谢啦,学习一下框架搭建

  回复  引用  查看    
#121楼2009-02-20 14:44 | ddda      
dikenlinzi@163.com,谢谢,学习一下
  回复  引用  查看    
#122楼2009-02-20 14:54 | 站在天空下的猪      
6367213@qq.com谢谢,拿来好好学习,正需要
  回复  引用    
#123楼2009-02-20 14:54 | document[未注册用户]
qhaccp1125@126.com

感谢楼主,我也学习一下

  回复  引用    
#124楼2009-02-20 15:01 | qbll[未注册用户]
发我一份,学习一下,qblll@126.com
谢谢!!

  回复  引用    
#125楼2009-02-20 15:08 | 2lei[未注册用户]
也求一份学习一下。
油箱博主应该可以看到。谢谢。

  回复  引用  查看    
#126楼2009-02-20 15:15 | JasonLin      
发一份,谢谢楼主!
  回复  引用    
#127楼2009-02-20 15:25 | maomaocatone[未注册用户]
多谢楼主,学习一下,感谢
  回复  引用    
#128楼2009-02-20 15:29 | huhuniit[未注册用户]
求一份,学习。谢谢楼主。
  回复  引用  查看    
#129楼[楼主]2009-02-20 15:31 | T2噬菌体      
以上朋友邮件已发出,请查收
  回复  引用  查看    
#130楼2009-02-20 15:34 | 张跃      
还不能上传么,那也给我一份了,谢谢哈
zyue225#qq.com

  回复  引用  查看    
#131楼2009-02-20 15:54 | 笨五木      
求一份,来学习用
谢谢
forestking500@126.com

  回复  引用  查看    
#132楼2009-02-20 15:58 | szh      
谢谢

shenzhihao163@163.com

  回复  引用    
#133楼2009-02-20 16:07 | byxxw[未注册用户]
求一份 shifenzhenzhong@163.com
  回复  引用  查看    
#134楼2009-02-20 16:18 | wilensky      
感谢博主,正需要这样的构架系统例子,请发给我一份,谢谢。devngm@163.com
  回复  引用    
#135楼2009-02-20 16:23 | justfortest[未注册用户]
myhouse_ku@163.com 学习一下

  回复  引用  查看    
#136楼2009-02-20 16:33 | Darcy      
eta1028@126.com
谢谢。

  回复  引用    
#137楼2009-02-20 16:34 | lsjwzh
楼主大哥,辛苦了.我与前面的不同,主要是想看看您咋用mvc,lsjwzh@163.com
  回复  引用  查看    
#138楼2009-02-20 16:41 | 大眼蛤蟆      
chuyi_521@163.com
谢谢,

  回复  引用    
#139楼2009-02-20 16:54 | zero_blog
Thank You
  回复  引用    
#140楼2009-02-20 17:11 | 阿土仔1[未注册用户]
正在学习ASP.NET MVC,关注下代码,谢谢!
  回复  引用    
#141楼2009-02-20 17:25 | Chris_Ys
请发一份给我,谢谢
yesu326.cnblogs[at]gmail.com
不好意思,为了访垃圾邮件...

  回复  引用  查看    
#142楼2009-02-20 17:28 | jas gao      
jas_gao@msn.com

谢谢

  回复  引用  查看    
#143楼2009-02-20 17:30 | 王相      
give me,给我也来一份!
  回复  引用    
#144楼2009-02-20 17:32 | ff[未注册用户]
master@duel.la
我也要

  回复  引用  查看    
#145楼2009-02-20 17:33 | AlexLiu      
rainspt@hotmail.com

Thx.

  回复  引用    
#146楼2009-02-20 17:39 | yangjunwlx[未注册用户]
利用优秀的源码学习还是很重要的。发我一份,谢谢了。
yangjunwl@foxmail.com

  回复  引用    
#147楼2009-02-20 17:44 | hebin[未注册用户]
麻烦给我发一份hebin@live.com
谢谢,比较关注你这系列文章

  回复  引用  查看    
#148楼2009-02-20 17:51 | 姜敏      
麻烦给我发一份
jiangmin168168@hotmail.com

  回复  引用  查看    
#149楼[楼主]2009-02-20 18:10 | T2噬菌体      
以上朋友邮件已发出,请注意查收
  回复  引用  查看    
#150楼2009-02-20 18:27 | ilovedotnet      
iamlipeng@126.com
学习一下,谢谢!

  回复  引用    
#151楼2009-02-20 18:50 | 春风2009[未注册用户]
nichunfeng@gmail.com
  回复  引用    
#152楼2009-02-20 19:12 | peak5200[未注册用户]
谢谢
li6749220@163.com

  回复  引用    
#153楼2009-02-20 19:35 | happy girl[未注册用户]
这么多人,你真的可以给我们一份吗?那真的辛苦你了
zhouxiao4619@qq.com
thank you

  回复  引用  查看    
#154楼2009-02-20 19:37 | 疯子阿飞      
xiarugu@163.com

我也要一份,期待ing....

  回复  引用  查看    
#155楼2009-02-20 19:45 | 小狼壮壮      
感谢分享,学习~

iiduce@163.com

  回复  引用  查看    
#156楼2009-02-20 20:01 | 大炳      
来学习下,谢谢
dbr624@163.com

  回复  引用  查看    
#157楼2009-02-20 20:42 | airwolf2026      

我汗.155楼了.还没有上传成功哇哈哈....


  回复  引用    
#158楼2009-02-20 20:46 | 浪子1111[未注册用户]
呵呵 辛苦了
  回复  引用  查看    
#159楼[楼主]2009-02-20 20:52 | T2噬菌体      
@airwolf2026
我也郁闷了。。。一上传文件就弹出一个框,说upload interrupt...什么的,还有什么,好像是说http不响应,还有异常堆栈跟踪什么的,你知道是怎么回事吗?今天试了N次了

  回复  引用  查看    
#160楼2009-02-20 21:03 | Jeffrey Zhao      
上传到skydrive这种公开的地方吧
  回复  引用  查看    
#161楼[楼主]2009-02-20 21:29 | T2噬菌体      
@Jeffrey Zhao
好的,还没听说过skydrive呢,我去看一下

  回复  引用  查看    
#162楼2009-02-20 21:39 | daconglee      
dacong132@yahoo.com.cn
  回复  引用  查看    
#163楼[楼主]2009-02-20 21:49 | T2噬菌体      
@Jeffrey Zhao
已经搞定了,呵呵。真是孤陋寡闻啊。。。居然不知道有这么个好东西,以后有地方放文件了

  回复  引用    
#164楼2009-02-21 10:16 | Microle[未注册用户]
microle.dong@gmail.com
谢谢

  回复  引用  查看    
#165楼2009-02-22 08:29 | 林松斌      
410728115@qq.com
谢谢

  回复  引用  查看    
#166楼[楼主]2009-02-22 21:14 | T2噬菌体      
以上朋友邮件已发出,请查收
  回复  引用  查看    
#167楼2009-02-23 08:14 | BainWong      
楼主的照貌似是在烟台汽车站对面的米线馆拍的?-_-
  回复  引用  查看    
#168楼[楼主]2009-02-23 10:56 | T2噬菌体      
@BainWong
。。。-_-|||,是烟大附近的熊老头川菜馆。去年十月一回烟台玩时拍的

  回复  引用  查看    
#169楼2009-02-23 12:04 | 站在天空下的猪      
怎么提示web无法加载
vs08sp1

  回复  引用  查看    
#170楼[楼主]2009-02-23 12:58 | T2噬菌体      
@站在天空下的猪
你这样说我也不知道问题所在,可以说详细一点吗

  回复  引用    
#171楼2009-02-28 09:40 | 苯猫
找了好久 学习下
bhc_cw111@163.com
谢谢!

  回复  引用    
#172楼2009-02-28 09:40 | 苯猫
找了好久 学习下
谢谢!
bhc_cw111@163.com

  回复  引用  查看    
#173楼2009-03-03 09:23 | MIDI      
学习N层,PetShop是最经典的。
  回复  引用    
#174楼2009-03-05 14:10 | whtydn[未注册用户]
请发给我一份,谢谢
  回复  引用    
#175楼2009-03-05 14:11 | whtydn[未注册用户]
whtydn@qq.com
请发一份给我,谢谢

  回复  引用    
#176楼2009-03-11 10:38 | niit_zc
nbear的相关语法好像很难找
比如Gateway的各种方法,如form,select等,园子上的教材中都没有讲
博主有没有,有的话能不能发我:niit_zc@tom.com 谢谢!

  回复  引用  查看    
#177楼[楼主]2009-03-11 15:49 | T2噬菌体      
@niit_zc
NBear没有太好的参考资料,我们当时也是一边摸索一边做的。
其实,现在建议使用Linq to sql或Entity Framework去做ORM,个人感觉比NBear好用,且功能不差,资料也多。

  回复  引用    
#178楼2009-03-18 12:22 | lin35[未注册用户]
你提供的下载地址下不了,能否给我发一份?
lin_35@yahoo.cn
谢谢楼主了!

  回复  引用    
#179楼2009-03-26 14:06 | 困了不睡[未注册用户]
给份给我谢谢
taomaintao@163.com

网上的下载包已经损坏呀,楼主

  回复  引用  查看    
#180楼[楼主]2009-03-27 00:46 | T2噬菌体      
@困了不睡
已发出。网上的压缩包没有坏,呵呵

  回复  引用    
#181楼2009-03-31 09:50 | hywood[未注册用户]
楼主这十多篇文章下来,有条不紊,思维严谨,足见在软件框架设计上的造诣之深入。
  回复  引用    
#182楼2009-03-31 09:58 | hywood[未注册用户]
网上压缩包损坏了,请博主发一份给我:fjnu.jxd.111@gmail.com
  回复  引用  查看    
#183楼[楼主]2009-03-31 15:08 | T2噬菌体      
@hywood
已发出

  回复  引用    
#184楼2009-04-15 09:28 | qientie[未注册用户]
楼主能给我一份吗?多谢了
e_feiqi@yahoo.com.cn

  回复  引用    
#185楼2009-04-15 13:23 | mosky[未注册用户]
楼主,能否也给偶发一份?先谢了。
suifeng123@163.com

  回复  引用  查看    
#186楼[楼主]2009-04-16 13:45 | T2噬菌体      
以上两位朋友的邮件已发出,请查收
  回复  引用    
#187楼2009-04-22 16:29 | 6ysnow[未注册用户]
很好的例子,也很好理解,也能顺利的运行,谢谢!!!
  回复  引用    
#188楼2009-05-06 10:29 | dfgf[未注册用户]
数据库呢???
  回复  引用    
#189楼2009-05-31 22:23 | haven24
你好,你太有才了!我已下载你的源代码,可是在导入时“NGuestBook.Web.csproj”导入不了,能帮忙解决下!谢谢你咯
  回复  引用  查看    
#190楼[楼主]2009-05-31 22:47 | EricZhang(T2噬菌体)      
@haven24
可能是平台版本问题。这个程序的运行,需要.NET Framework3.5 SP1,并且加装ASP.NET MVC 1.0正式版,另外IDE需要VS2008 SP1。你看一下你的平台是否符合要求

  回复  引用  查看    
#191楼2009-06-24 10:33 | 学习的脚步      
楼主能给我一份吗?谢谢!很想学习一下
  回复  引用    
#192楼2009-07-03 09:14 | 119273550[未注册用户]
楼主,很想看看你的源代码,学习一下,谢谢。。。
lxy_10@tom.com

  回复  引用  查看    
#193楼2009-07-03 19:49 | peijian      
楼主,很想看看你的源代码,学习一下,谢谢。。。
  回复  引用    
#194楼2009-07-09 17:26 | yangwg[未注册用户]
楼主,好崇拜你
给我一份吧 hbtmdxywg@126.com 谢谢!!!!

  回复  引用  查看    
#195楼2009-09-08 16:56 | 轻松C#      
楼主,学习一下
给我一份 seanxuan6@hotmail.com 谢谢!!!!


  回复  引用    
#196楼2009-09-14 18:04 | cherying[未注册用户]
楼主我正在学习linq,我也想看看你的架构
请发我一份 cheryingpeng@hotmail.com
谢谢啊!~

  回复  引用  查看    
#197楼2009-09-14 23:32 | bigone      
楼主大人,小弟也在学习.net中,还是敲门呢,呵呵,有空的话也给小弟发一份,上面的链接下载有问题. <lyroct@126.com>
不胜感激.谢谢

  回复  引用  查看    
#198楼2009-09-26 15:19 | 衲搁浅、旳羙      
谢谢您,请给我发一份,感激不尽
邮箱 love-silence@163.com

  回复  引用  查看    
#199楼2009-09-27 09:47 | 东方神韵      
可惜了,=我下载的时候文件已经被破坏了.rar文件不能解压
qghboy@163.com

  回复  引用  查看    
#200楼2009-10-19 17:54 | Mr雨      
280954113@qq.com
谁有 发一份被,谢谢了~~~~~

  回复  引用  查看    
#201楼2009-11-12 14:08 | show_show      
289596180@qq.com

谢谢了 楼主麻烦您发一份!

  回复  引用    
#202楼2009-12-15 22:06 | wwds[未注册用户]
请发一分给我。十分感谢!
  回复  引用    
#203楼2009-12-15 22:06 | wwds[未注册用户]
wweeidong@163.com

请发一份给我。十分感谢!

  回复  引用    
#204楼2009-12-17 15:46 | codecloud[未注册用户]
博主有空吗,给我Email一份你的源码

wknight_it@163.com

  回复  引用  查看    
#205楼2010-01-08 16:02 | 海岸线      
楼主你好,能不能给我发了份儿来,下载来的这个版本有问题
406014865@qq.com 谢谢

  回复  引用  查看    
#206楼2010-01-22 16:12 | BloodyAngel      
看来,PETSHOP的“毒害效果”不浅啊……
  回复  引用  查看    
#207楼2010-02-06 18:29 | 飞翔的狮子      
楼主您好,有空可以给我发一份吗,下载了文件有问题。
aflylion@gmail.com 非常感谢!

评论共3页: 上一页 1 2 3