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

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

  发布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"。需要可以自行修改。

目录
相关文章
|
9月前
|
存储 缓存 安全
某鱼电商接口架构深度剖析:从稳定性到高性能的技术密码
某鱼电商接口架构揭秘:分层解耦、安全加固、性能优化三维设计,实现200ms内响应、故障率低于0.1%。详解三层架构、多引擎存储、异步发布、WebSocket通信与全链路防护,助力开发者突破电商接口“三难”困境。
|
9月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
1622 23
|
9月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
739 2
|
9月前
|
人工智能 API 数据库
Semantic Kernel .NET 架构学习指南
本指南系统解析微软Semantic Kernel .NET架构,涵盖核心组件、设计模式与源码结构,结合实战路径与调试技巧,助你从入门到贡献开源,掌握AI编排开发全栈技能。
1043 2
|
10月前
|
Cloud Native API 开发者
Gemini 2.5 Flash 技术拆解:从 MoE 架构到阿里云生态落地指南
2025年9月,谷歌Gemini 2.5 Flash发布,性能提升5%、成本降24%,引发行业关注。其MoE架构、百万上下文与“思考”范式,助力阿里云开发者高效构建云原生应用。本文解析技术内核,结合汽车、物流等案例,提供落地指南与避坑建议,展望大模型与流计算融合前景。
1086 6
|
9月前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)
1158 0
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
772 5
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
479 7