发布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.LinqDataComponent/app.config中,请根据具体情况自行修改。
      管理员的登录名和密码在/NGuestBook.Web/Web.config中,<appSettings>节点下的"AdminName"和"AdminPassword",默认均为"admin"。需要可以自行修改。

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)相关推荐

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

    发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:<基于.NET平台的分层架构实战>.当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多 ...

  2. 基于.NET平台的分层架构实战(一)——综述

    通过浏览博客园的文章发现,很多朋友对分层架构特别感兴趣,刚好我刚做完的毕业设计就是专门研究.NET平台上分层架构的(题目叫"基于.NET平台的分层架构与设计模式应用研究").通过做 ...

  3. 基于.NET平台的分层架构实战(二)——需求分析与数据库设计

    基于.NET平台的分层架构实战(五)--接口的设计与实现 · 基于.NET平台的分层架构实战(四)--实体类的设计与实现 · 基于.NET平台的分层架构实战(三)--架构概要设计 · 基于.NET平台 ...

  4. java imgui,发布使用 IMGui 基于 msys2 平台编写的软件

    发布使用 IMGui 基于 msys2 平台编写的软件 最近空闲时间为项目编写一个协议测试工具.由于习惯使用 gcc/g++ 所以在 Windows 10 操作系统上选择 msys2 开发.编程语言是 ...

  5. 一个基于.Net Core+Vue+Element Ui开发的OA系统

    今天给大家推荐一个开源OA系统. 项目简介 这是一个基于.Net Core构建的简单.跨平台OA系统.企业可以利用它进行信息化建设,框架提供了用户管理.权限管理.表引擎.流程引擎.BI智能报表,可以大 ...

  6. 一个基于cocos2d-x 3.0和Box2d的demo小程序

    一个基于cocos2d-x 3.0和Box2d的demo小程序 p图demo小应用.想怎么p就怎么p 本文參考于http://blog.csdn.net/xiaominghimi/article/de ...

  7. 卡路里计算JAVA_pedometer 这是一个基于android平台的软件,用于计算你走路的步数,算出消耗的卡路里,以达到健 238万源代码下载...

    详细说明:这是一个基于android平台的软件,用于计算你走路的步数,算出消耗的卡路里,以达到健康的管理.-This is an android platform based software, us ...

  8. 基于外卖平台POI的城市餐饮业空间热点分析系统

    温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从某外卖平台APP采集餐饮商铺数据,系统采用 flask 搭建 web 后台, ...

  9. 微软账号登陆不上_企业信息化面临的问题,看看解决方案,基于微软平台的IT架构...

    哈喽,今日头条的小伙伴们大家好,我是你们的好朋友IT咨询顾问.小编曾经就工作过程中接触的企业IT环境存在的问题,陆陆续续搜集过一些案例,当时做的笔记是零散的,现在为了方便小伙伴们阅读,整理了一下笔记并 ...

最新文章

  1. html景图片怎么设置百分比,8个风光照片拍摄技巧
  2. VB 6.0中如何访问EXCEL 2007及EXCEL 2010
  3. 使用Apache搭建个人用户主页
  4. JS 对select动态添加options操作[IEFireFox兼容]
  5. Serverless:云函数 + 小马BI,将报表极速搬上云
  6. iOS开发内存管理总结
  7. 我的高中生涯大概只有一年半学的是C/C++
  8. down perm什么意思_没想到“羽绒服”竟叫down coat!为啥有个down?
  9. python中df head_解决Python spyder显示不全df列和行的问题
  10. [ios开发]锁屏后的相机的方向检查,与图片的自动旋转
  11. python bokeh slider_Bokeh数据可视化工具3视觉增强及服务器
  12. maven pom.xml中设置java编译参数
  13. cvCanny() 边缘检测
  14. 【教程】Tomcat 的catalina.out 日志按照自定义日期格式进行切割
  15. mysql cmd 常用命令
  16. GitHub 漫游指南
  17. mbp touchbar设置_MacBook 个性化你的 Touch Bar
  18. BSC智能分红代币合约可分其他代币|含营销钱包|通缩|回流|直接部署可用
  19. 原创壁纸小程序独立后台(1.3.5版本介绍)
  20. 一次正交设计和组合设计之旅

热门文章

  1. Linux文件和目录权限:chmod、更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr...
  2. Lind.DDD.Manager里的3,7,15,31,63,127,255,511,1023,2047
  3. scala入门-01-IDEA安装scala插件
  4. 英文版opensuse 12.2安装中文输入法ibus
  5. 打造个性化的Internet Explorer
  6. 标准MD5 .Net,实现!的对与错!
  7. lstm需要优化的参数_使用PyTorch手写代码从头构建LSTM,更深入的理解其工作原理...
  8. Ubuntu宿主机与VMware中其他系统虚拟机的互通
  9. 解决Ubuntu 16.04下提示boot分区空间不足的办法
  10. war部署到tomcat