发布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"。需要可以自行修改。
posted @ 2009-02-19 23:54
EricZhang(T2噬菌体) 阅读(5167)
评论(207) 编辑 收藏 网摘 所属分类:
.NET
发表评论
sunshushou@126.com,发一份学习一下。谢谢。
要一份 謝謝了 樓主 我的郵箱:476074295@qq.com
多谢楼主,给俺也来一份 :)
rocky0121@gmail.com
多谢大公无私!
E_mail:qiangge_29@yahoo.com.cn
jy00361722@gmail.com
感谢大大!
顺路求一份,非常感谢,email:rxiao@126.com
waryu100@hotmail.com
我也要一份,谢谢!
我也要一份,谢谢!267456602@qq.com
zrc000@gmail.com
谢啦,学习一下框架搭建
dikenlinzi@163.com,谢谢,学习一下
6367213@qq.com谢谢,拿来好好学习,正需要
qhaccp1125@126.com
感谢楼主,我也学习一下
发我一份,学习一下,qblll@126.com
谢谢!!
#129楼[
楼主]2009-02-20 15:31 |
以上朋友邮件已发出,请查收
还不能上传么,那也给我一份了,谢谢哈
zyue225#qq.com
求一份,来学习用
谢谢
forestking500@126.com
求一份 shifenzhenzhong@163.com
感谢博主,正需要这样的构架系统例子,请发给我一份,谢谢。devngm@163.com
楼主大哥,辛苦了.我与前面的不同,主要是想看看您咋用mvc,lsjwzh@163.com
正在学习ASP.NET MVC,关注下代码,谢谢!
请发一份给我,谢谢
yesu326.cnblogs[at]gmail.com
不好意思,为了访垃圾邮件...
利用优秀的源码学习还是很重要的。发我一份,谢谢了。
yangjunwl@foxmail.com
麻烦给我发一份hebin@live.com
谢谢,比较关注你这系列文章
麻烦给我发一份
jiangmin168168@hotmail.com
#149楼[
楼主]2009-02-20 18:10 |
以上朋友邮件已发出,请注意查收
iamlipeng@126.com
学习一下,谢谢!
这么多人,你真的可以给我们一份吗?那真的辛苦你了
zhouxiao4619@qq.com
thank you
xiarugu@163.com
我也要一份,期待ing....
我汗.155楼了.还没有上传成功哇哈哈....
#159楼[
楼主]2009-02-20 20:52 |
@airwolf2026
我也郁闷了。。。一上传文件就弹出一个框,说upload interrupt...什么的,还有什么,好像是说http不响应,还有异常堆栈跟踪什么的,你知道是怎么回事吗?今天试了N次了
#161楼[
楼主]2009-02-20 21:29 |
@Jeffrey Zhao
好的,还没听说过skydrive呢,我去看一下
#163楼[
楼主]2009-02-20 21:49 |
@Jeffrey Zhao
已经搞定了,呵呵。真是孤陋寡闻啊。。。居然不知道有这么个好东西,以后有地方放文件了
microle.dong@gmail.com
谢谢
#166楼[
楼主]2009-02-22 21:14 |
以上朋友邮件已发出,请查收
楼主的照貌似是在烟台汽车站对面的米线馆拍的?-_-
#168楼[
楼主]2009-02-23 10:56 |
@BainWong
。。。-_-|||,是烟大附近的熊老头川菜馆。去年十月一回烟台玩时拍的
#170楼[
楼主]2009-02-23 12:58 |
@站在天空下的猪
你这样说我也不知道问题所在,可以说详细一点吗
找了好久 学习下
bhc_cw111@163.com
谢谢!
找了好久 学习下
谢谢!
bhc_cw111@163.com
nbear的相关语法好像很难找
比如Gateway的各种方法,如form,select等,园子上的教材中都没有讲
博主有没有,有的话能不能发我:niit_zc@tom.com 谢谢!
#177楼[
楼主]2009-03-11 15:49 |
@niit_zc
NBear没有太好的参考资料,我们当时也是一边摸索一边做的。
其实,现在建议使用Linq to sql或Entity Framework去做ORM,个人感觉比NBear好用,且功能不差,资料也多。
你提供的下载地址下不了,能否给我发一份?
lin_35@yahoo.cn
谢谢楼主了!
给份给我谢谢
taomaintao@163.com
网上的下载包已经损坏呀,楼主
#180楼[
楼主]2009-03-27 00:46 |
@困了不睡
已发出。网上的压缩包没有坏,呵呵
楼主这十多篇文章下来,有条不紊,思维严谨,足见在软件框架设计上的造诣之深入。
网上压缩包损坏了,请博主发一份给我:fjnu.jxd.111@gmail.com
#183楼[
楼主]2009-03-31 15:08 |
@hywood
已发出
楼主能给我一份吗?多谢了
e_feiqi@yahoo.com.cn
楼主,能否也给偶发一份?先谢了。
suifeng123@163.com
#186楼[
楼主]2009-04-16 13:45 |
以上两位朋友的邮件已发出,请查收
很好的例子,也很好理解,也能顺利的运行,谢谢!!!
你好,你太有才了!我已下载你的源代码,可是在导入时“NGuestBook.Web.csproj”导入不了,能帮忙解决下!谢谢你咯
#190楼[
楼主]2009-05-31 22:47 |
@haven24
可能是平台版本问题。这个程序的运行,需要.NET Framework3.5 SP1,并且加装ASP.NET MVC 1.0正式版,另外IDE需要VS2008 SP1。你看一下你的平台是否符合要求
楼主,很想看看你的源代码,学习一下,谢谢。。。
lxy_10@tom.com
楼主,好崇拜你
给我一份吧 hbtmdxywg@126.com 谢谢!!!!
楼主,学习一下
给我一份 seanxuan6@hotmail.com 谢谢!!!!
楼主我正在学习linq,我也想看看你的架构
请发我一份 cheryingpeng@hotmail.com
谢谢啊!~
楼主大人,小弟也在学习.net中,还是敲门呢,呵呵,有空的话也给小弟发一份,上面的链接下载有问题. <lyroct@126.com>
不胜感激.谢谢
谢谢您,请给我发一份,感激不尽
邮箱 love-silence@163.com
可惜了,=我下载的时候文件已经被破坏了.rar文件不能解压
qghboy@163.com
280954113@qq.com
谁有 发一份被,谢谢了~~~~~
289596180@qq.com
谢谢了 楼主麻烦您发一份!
wweeidong@163.com
请发一份给我。十分感谢!
博主有空吗,给我Email一份你的源码
wknight_it@163.com
楼主你好,能不能给我发了份儿来,下载来的这个版本有问题
406014865@qq.com 谢谢
楼主您好,有空可以给我发一份吗,下载了文件有问题。
aflylion@gmail.com 非常感谢!