通过浏览博客园的文章发现,很多朋友对分层架构特别感兴趣,刚好我刚做完的毕业设计就是专门研究.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