通过浏览博客园的文章发现,很多朋友对分层架构特别感兴趣,刚好我刚做完的毕业设计就是专门研究.NET平台上分层架构的(题目叫“基于.NET平台的分层架构与设计模式应用研究”)。通过做这篇论文,我对分层架构有了一定的了解,所以,就萌发了想写一个文章系列,详述一下分层架构。然而,论文的理论性太强,不适合在网上发布,尤其不适合初学者理解,所以,我想在这个文章系列中,少讲理论,而是通过做一个完整的案例来讨论分层架构的基本方法,这样会直观很多。希望在这个文章系列的写作过程中,能和朋友们一起学习,一起进步。

为了让朋友们把主要精力放在理解分层架构而不是案例本身,我准备选择一个相对简单的留言本系统作为Demo,这个系统的名字就叫做NGuestBook。

初步计划将这个文章系列分为以下几篇:
1.综述
2.系统需求分析及数据库设计
3.架构概要设计
4.实体类的实现
5.接口的设计与实现
6.依赖注入及IoC的设计与实现
7.数据访问层的第一种实现——Access+动态生成SQL语言
8.数据访问层的第二种实现——SQLServer+存储过程
9.数据访问层的第三种实现——基于NBear框架的ORM实现
10.业务逻辑层的实现
11.表示层的实现

当然,以上只是初步计划,在写文章的过程中可能会根据具体情况适当调整,但是内容大体就是这些。

这个文章系列不会对所用到的技术进行详细讲解,具体请参考相关文献,阅读文章前最好能对以下技术有一个了解:
1.C#语言
2.ASP.NET
3.设计模式
4.关系数据库基础知识
5.软件架构基本原则与软件工程基础知识
6.基于NBear框架的ORM技术
7.JavaScript,Ajax
8.ASP.NET AJAX框架(特别是客户端编程)
9.HTML,CSS,标准化布局

另外,本文章系列是基于.NET framework2.0框架平台进行讨论,3.5平台的新特性(如LINQ、ASP.NET MVC等)不会讨论,IDE使用Visual Studio 2005,数据库会用到SQLServer2005 Express和Access2003。

用Nfx类库建立三层应用 
http://forum.entlib.net.cn/showtopic-1363.aspx

--引用--------------------------------------------------
个人知识管理: 没有做过几个成功的大型项目,还是少写这方面的内容为好。分层这东西,技术要很全面,SOA、COM+、数据库、负载平衡....至少要研究Sharepoint、Reporting等等后再说
第一次给人拨泠水
--------------------------------------------------------
同意这种观点

--引用-------------------------------------------------- 
李中华: 数据库设计应该属于详细设计的最后一部分或者在详细设计之后的一个设计。 
不应该在架构概要设计之前。

数据库的在这个系统中的主要功能就是存储,存储的内容应该是用户的数据,除了用户的数据,还可能会存储一些系统配置方面的数据。

在设计中,根据需求,首先要分析与设计的就是UI层,它直间面对用户,用户的需求,很大部分会体系在UI层上。一个不合理的UI,很有可能导致你的业务层也不合理。当明确UI层后,再进行业务层的设计,寻找边界类、控制类、实体类,这里很可能会迭代设计你的UI层,这次的迭代设计,不需要详细到你的类有哪些具体的字段,但可以有一两个主要字段,当然,必须拥有主要的方法,详细的字段,应该是详细设计的工作。业务层里,你还要设计业务流程。这里只是设计,不谈实现,也不要去实现,但可以写一些伪代码。业务层设计好后,再来设计数据层。数据层的数据模型可以根据业务层中的实体类来设计,但他们不一定要一一对应。概要设计完成了,接下来就是细化,进行详细设计。 
--------------------------------------------------------

恩,同意您的看法。数据库的设计应该放在概要设计之后。这里文章的写作顺序并不代表实际的设计顺序,在这个文章系列中,由于Demo非常简单,所以实际上不存在真正的需求分析和数据库设计,这里所谓的“数据库设计”只是一个简单实体、关系和数据表介绍,让读者对Demo有个大体的认识。

这个文章系列中,只是讨论空间建构,并没有涉及开发顺序问题,所以文章顺序并不代表开发顺序,呵呵。

另外,你这段描述对我非常有启发,也很有学习价值,谢谢!!!

转自:https://www.cnblogs.com/leoo2sk/archive/2008/06/16/1223312.html

基于.NET平台的分层架构实战(一)——综述相关推荐

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

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

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

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

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

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

  4. 艾伟:基于.NET平台的Windows编程实战(四)—— 数据库操作类的编写

    本系列文章导航 基于.NET平台的Windows编程实战(一)--前言 基于.NET平台的Windows编程实战(二)-- 需求分析与数据库设计 基于.NET平台的Windows编程实战(四)-- 数 ...

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

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

  6. 基于云平台的物联网架构和原理

    基于云平台的物联网架构和原理 云的服务架构 云计算是通过各种技术手段服务客户的一种方式,包括三层服务模式,即最底层的IaaS(基础设施即服务),中间层的PaaS(平台即服务),和顶层的SaaS(软件即 ...

  7. DDD 实战 (5):战略设计之上下文映射和系统分层架构

    在上篇<DDD 实战 (4):战略设计之系统上下文和限界上下文>完成了限界上下文的识别(也就是系统"最粗粒度"的模块划分)后,我们需要对这些上下文之间的协作关系进行分析 ...

  8. DDD 实战 (5):限界上下文映射和系统分层架构

    在完成了限界上下文的识别(也就是系统"最粗粒度"的模块划分)后,我们需要对这些上下文之间的协作关系进行分析--即"限界上下文关系映射".也只有在完成上下文关系映 ...

  9. DDD领域驱动设计-分层架构实践

    代码结构 项目是使用maven构建的springboot项目 基于DDD领域驱动分层架构设计,分为接口层interfaces.应用层application.领域层domain.基础设施代理层infra ...

最新文章

  1. Google收购安全分析软件厂商Zynamics
  2. python随机生成车牌_使用Python自动化获取全国每个城市的车牌代码
  3. 微软Entity Framework安装和初步研究
  4. 转)微软Olap服务MDX函数应用举例
  5. 5最后一条记录_在一堆数据中,如何获取最后一次记录?
  6. js验证固定电话、手机号码(代码大全)
  7. mysql5.7更改数据库存储位置_mysql 5.7更改数据库的数据存储位置的解决方法
  8. cookie注入原理详解(一)
  9. [计算机数值分析]牛顿插值公式
  10. 苹果系统虚拟机无usb服务器,Mac上Vmware虚拟机无法识别USB Key怎么办?Mac虚拟机无法识别USB Key解决方法...
  11. 全国大学生软件测试大赛web应用测试,2017全国大学生软件测试大赛Web应用测试(团体)夏季预选赛入选名单...
  12. c c++ 信息服务查询服务器
  13. 华芯微特SWM181学习笔记--GPIO应用与环境搭建
  14. 快来和网红 ChatGPT 聊天!!
  15. VirtualBox 调整屏幕分辨率
  16. 【笑小枫的按步照搬系列】Git从安装到入门操作,一文搞定
  17. IDEA 数组遍历快捷键
  18. CMMI有哪几个级别,每个级别有哪些其特征
  19. idea上一步失效:Ctrl+Alt+左箭头 Ctrl+Alt+右箭头
  20. 【Rust 日报】2021-10-24 sea-orm:异步动态 ORM

热门文章

  1. OpenStack Weekly Rank 2015.08.24
  2. pthread 简要使用指南
  3. BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
  4. Python Interview Question and Answers
  5. leetcode之回溯backtracing专题5
  6. cad钣金展开插件_钣金高级工考试大小头手工展开图步骤教程
  7. android activity之间传递对象,Android Activity之间的数据传递
  8. c语言大数的加减运算,求用C编个大数加减法运算程序
  9. export function函数传参_从底层看前端(七)—— JavaScript到底有多少种函数?
  10. java中的sql语句书写_Java中sql语句之通配符*