﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-闲庭信步-随笔分类-ASP.NET</title><link>http://www.cnitblog.com/seaship/category/8715.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 05 Oct 2011 22:02:18 GMT</lastBuildDate><pubDate>Wed, 05 Oct 2011 22:02:18 GMT</pubDate><ttl>60</ttl><item><title>asp.net三层架构</title><link>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html</link><dc:creator>seaship</dc:creator><author>seaship</author><pubDate>Fri, 16 Jul 2010 00:53:00 GMT</pubDate><guid>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html</guid><wfw:comment>http://www.cnitblog.com/seaship/comments/67531.html</wfw:comment><comments>http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/seaship/comments/commentRss/67531.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/seaship/services/trackbacks/67531.html</trackback:ping><description><![CDATA[三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为：表现层（UI）、业务逻辑层（BLL）、数据访问层（DAL）。区分层次的目的即为了&#8220;高内聚，低耦合&#8221;的思想。　 <br>&nbsp;１、表现层（UI）：通俗讲就是展现给用户的界面，即用户在使用一个系统的时候他的所见所得。
<p align=left>&nbsp;２、业务逻辑层（BLL Business Logic Layer）：针对具体问题的操作，也可以说是对数据层的操作，对数据业务逻辑处理。</p>
<p align=left>&nbsp;&nbsp;３、数据访问层（DAL）：该层所做事务直接操作数据库，针对数据的增、删、改、查。</p>
<p align=left>　　<strong><em>优点：</em></strong></p>
<p align=left>　　1、开发人员可以只关注整个结构中的其中某一层；</p>
<p align=left>　　2、可以很容易的用新的实现来替换原有层次的实现；</p>
<p align=left>　　3、可以降低层与层之间的依赖；</p>
<p align=left>　　4、有利于标准化；</p>
<p align=left>　　5、利于各层逻辑的复用。</p>
<p align=left>　　<strong><em>缺点：</em></strong></p>
<p align=left>　　1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构，很多业务可以直接造访数据库，以此获取相应的数据，如今却必须通过中间层来完成。</p>
<p align=left>　　2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能，为保证其设计符合分层式结构，可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。</p>
所以考虑一个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的。
<img src ="http://www.cnitblog.com/seaship/aggbug/67531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/seaship/" target="_blank">seaship</a> 2010-07-16 08:53 <a href="http://www.cnitblog.com/seaship/archive/2010/07/16/67531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>