三层架构浅析.doc
文本预览下载声明
m ile
不以省天下之物,而欲蕴天下之事,难矣!对于需求來说,客户永远是对的。
平凡伟人不可分。年轻不狂妄自大,拼搏耍有计划。
博客园首页博问闪存新随笔联系订阅
博客园首页博问闪存新随笔
联系
订阅
XML
管理
随笔?76评论-14 文章trackbacks-0三层架构浅析项目炕赖方
随笔?76评论-14 文章trackbacks-0
三层架构浅析
项目炕赖方P
( 表现层 )
(] 中闾;务层 )(斂恳问层)
中鸟业吳层
( 技海访问层
ES I三层和咖
ES I三层和咖0层式焙榔-
“三层架构”屮的三层是指:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)
表现层:通俗讲就是展现给用八的界而,即用八在使用」个系统时候他的所见所得。
位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交
互式操作的界面。
业务逻辑层:针对儿体问题的操作,也川以说是对数据层的操作,对数据业务逻辑处理。 负责处理用八输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问 层屮的函数再次读出这些数据。屮间业务层也川以包括一些对“商业逻辑”描述代码在里面 数据访问层:该层所做事务H接操作数据库,丄E对数据的增添、删除、修改、更新、查找。
仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是 XML文档
优缺点:
优点:
1、 开发人员可以只关注整个结构屮的英屮某一层;
2、 可以很容易的用新的实现來替换原有层次的实现;
3、 可以降低层与层之间的依赖;
4、 有利于标准化;
5、 利于各层逻辑的复用。
缺点:
1、 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以巴接造访 数据库,以此获取相应的数据,如今却必须通过屮间层来完成。
2、 有时会导致级联的修改。这种修改尤其体现在口上而下的方向。如果在表示层中需要增 加-个功能,为保证英设计符合分层式结构,口J能需耍在相应的业务逻辑层和数据访问层屮都增 加相应的代码。
简单的三层如下所示: 数据访问层:DAL
sqlhelp 类:
pub丄ic class Sc[丄Help
{
private SqlConnection con; //连接对象
private SqlCommand cmd;//操作对象
private SqlDataAdapter sda; //适配器(填充和更新数据库的一纽.数据命令和一个数据库 连接)
private SclDataReader reader; //i卖取
private DataSet ds;//数据集
III summary
///初始化连接对象
/// /summary
public void Connection ()
{
try
{
con = new SqlConnection(Sq丄Conn ? Str);
con.Open();
}
catch (Exception)
{
///
}
} public int Command(string strsql)
{
try
{
Connection {) ; //打开连接
cmd = new Sq丄Command(strsq丄/ con);
int count = cmd? ExecuteNonQuery () ;//返冋受影响的行数 return count;
}
catch (Exception)
{
return -1;
}
finally
con ? Dispose();
III summary
///返回一个数据集合
/// /summary
III param name=nstrsq丄”数据库操作语句/p且r^m
/// returns^fcft;^/returns〉
public D且taSet ReturnDs (staring strsql, string table) {
try
{
Connection();
sda = new SqlDataAdapter(strsql, con);
ds = new DataSet();
sda.Fill(dsz table);
return ds;
}
catch (Exception)
{
return null;
}
finally
{
con ? Dispose();
}
}
/// summary
///返回一个只进的读取流
III /summary
III param name=”strsq丄数据库操作语句/p且rum
/// re turns〉返冋一行数据〈/re turns〉
public SqlDataReader ReturnReader (st^ing strsql)
{
try
{
Connection();
显示全部