回 帖 发 新 帖 刷新版面

主题:关于三层




有谁能告诉我三层到底是那三层,每层有什么作用?

回复列表 (共3个回复)

沙发

一、先讲讲基础知识 
所谓三层就是“页面陈述层”、“业务逻辑层”、“数据访问层”这三层。 
每一部分都可以脱离其他部分而独立存在。 
一般建立index.aspx页面时,它的逻辑部分会写在同名的index.cs文件中(如果用c#语言实现)。这其实一下就建立了两层:index.aspx是提供给用户看的页面,它调用的逻辑在index.cs文件中,而这个文件是用户无法看到的(服务器藏起来不让用户看)。 
真正的逻辑层其实是另一个概念:web service。把所有业务逻辑打包成一个web service,在需要的地方像调用函数一样调用即可,也可以封装成类来专门处理业务逻辑.这多用于大型项目,一般中小项目就用上面的方法就足够用了。 
数据层相对比较独立,其实就是建立独立的数据库,通过逻辑层(比如index.cs)访问数据库,包括和数据库建立连接、向数据库传递查询语句、接收数据库返回的查询结果等。把数据库和逻辑层分离的好处有很多,比如把逻辑层放在机器A上,数据层放在机器B上,AB之间设立防火墙之允许数据库相关数据进出,这样即便A被黑掉或者被大火烧毁,数据库依然是安全的。 
二、实际应用的一般思路 
这其实是一个软件工程的问题,而不是.net或者三层架构的问题,.net三层架构仅仅是一种实现标准、微软为你搭建好的工具平台等等,实际应用的时候,从来都是从软件工程的角度来考虑问题,而不是迁就三层架构。 
任何项目都是从需求开始,针对需求确定用什么样的框架,开发哪些功能,以及界面如何设置。 
比较流行、成功率比较高的开发顺序是: 
1.找用户确定需要实现的所有功能。 
2.分析这些功能之间的关系,提炼出前台、后台、公共库、不同角色等等 
3.根据这些功能设计相应的界面,逐个找用户提反馈、修改、确认。确定好界面之后,所有的软件功能、架构体系等问题就都能定下来了。 
4.设计数据库结构 
5.编写所有模块代码,包括逻辑层,数据库层,界面等等 
6.测试、用户反馈、修改、再测试,最终交付。

板凳

很好 很清楚啊

3 楼

没有什么严格意义上的三层,就看你理解

我来回复

您尚未登录,请登录后再回复。点此登录或注册