主题:关于三层
deng0601sdo
[专家分:0] 发布于 2007-08-01 09:18:00
有谁能告诉我三层到底是那三层,每层有什么作用?
回复列表 (共3个回复)
沙发
longlong16 [专家分:10670] 发布于 2007-08-01 09:34:00
一、先讲讲基础知识
所谓三层就是“页面陈述层”、“业务逻辑层”、“数据访问层”这三层。
每一部分都可以脱离其他部分而独立存在。
一般建立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 楼
califord [专家分:200] 发布于 2007-08-03 14:36:00
没有什么严格意义上的三层,就看你理解
我来回复