.net三层结构初探分析第1/4页
更新时间:2008年09月08日 20:42:54 作者:
最近开始对架构开始了研究,当然由于水平不够,先研究了“简单的三层结构”,至于“抽象工厂模式”放后面来研究吧!
对于学习,我选择了ACCESS数据库+存储过程的方式,这里记录的是我个人的学习体会和笔记,与网上的可能有不同之处,观点也不可能全部相同。
为什么使用三层结构:
首先要明确,三层结构并不能使系统变快,实际上它会比起“单类结构”慢。但越来越多人使用三层结构开发,为啥呢?我在使用中,发现三层结构十分清晰,一个类,一个文件你该放在哪层就放哪层,不会象单类结构那样全部放到App_Data中,造成结构混乱。当然,使用三层结构的原因肯定不是那么肤浅,它对团队开发,系统可维护性有十分重要的意义。
三层结构是代码量增多,且代码多重复?
确实,三层代码要写很多很白痴,很简单的代码,比如MODEL这个实体类,如果你需要一个admin的实体,那么你需要写这样的代码:
public class admin
{
private int? _id;
private string _sname;
private string _spassword;
public int? id
{
set { _id = value; }
get { return _id; }
}
public string sname
{
set { _sname = value; }
get { return _sname; }
}
public string spassword
{
set { _spassword = value; }
get { return _spassword; }
}
}
而有多个实体的话,你要再写这些白痴代码,为什么叫它白痴代码?因为这些代码你看着个表就可以写出来了。一次和老汤讨论中,介绍了一个软件,叫做“动软.Net代码生成器”,这些白痴代码让这个软件自己去生成吧!在这里也推荐大家用这个软件,可以减少很多代码量,BLL,DAL,WEB层的代码都可以去生成,但要完全符合使用的话,还需要自己做些修改。
下面讲讲我理解的三层,先上张图1:
WEB :界面层,其实就是一个网站。
BLL:逻辑处理层。
DAL:数据访问层
DBUtility:数据层基类
Model:实体类
Common:存放公用函数
图2
这里需要讲讲那个DBUtility这个层,你可以看到有4个文件:
1、DbHelperOleDb.cs:用于SQL语句
2、DbHelperOleDbP.cs:用于存储过程
3、DbHelperOleDbS.cs:用于具体实现,比如“根据条件判断是否存在”、“返回最大的ID”...
4、PubConstant.cs:数据库连接代码
为什么使用三层结构:
首先要明确,三层结构并不能使系统变快,实际上它会比起“单类结构”慢。但越来越多人使用三层结构开发,为啥呢?我在使用中,发现三层结构十分清晰,一个类,一个文件你该放在哪层就放哪层,不会象单类结构那样全部放到App_Data中,造成结构混乱。当然,使用三层结构的原因肯定不是那么肤浅,它对团队开发,系统可维护性有十分重要的意义。
三层结构是代码量增多,且代码多重复?
确实,三层代码要写很多很白痴,很简单的代码,比如MODEL这个实体类,如果你需要一个admin的实体,那么你需要写这样的代码:
复制代码 代码如下:
public class admin
{
private int? _id;
private string _sname;
private string _spassword;
public int? id
{
set { _id = value; }
get { return _id; }
}
public string sname
{
set { _sname = value; }
get { return _sname; }
}
public string spassword
{
set { _spassword = value; }
get { return _spassword; }
}
}
而有多个实体的话,你要再写这些白痴代码,为什么叫它白痴代码?因为这些代码你看着个表就可以写出来了。一次和老汤讨论中,介绍了一个软件,叫做“动软.Net代码生成器”,这些白痴代码让这个软件自己去生成吧!在这里也推荐大家用这个软件,可以减少很多代码量,BLL,DAL,WEB层的代码都可以去生成,但要完全符合使用的话,还需要自己做些修改。
下面讲讲我理解的三层,先上张图1:
WEB :界面层,其实就是一个网站。BLL:逻辑处理层。
DAL:数据访问层
DBUtility:数据层基类
Model:实体类
Common:存放公用函数
图2这里需要讲讲那个DBUtility这个层,你可以看到有4个文件:
1、DbHelperOleDb.cs:用于SQL语句
2、DbHelperOleDbP.cs:用于存储过程
3、DbHelperOleDbS.cs:用于具体实现,比如“根据条件判断是否存在”、“返回最大的ID”...
4、PubConstant.cs:数据库连接代码
相关文章
ASP.NET Core MVC中Form Tag Helpers用法介绍
这篇文章介绍了ASP.NET Core MVC中Form Tag Helpers的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-02-02
asp.net Web Services上传和下载文件(完整代码)
随着Internet技术的发展和跨平台需求的日益增加,Web Services的应用越来越广,我们不但需要通过Web Services传递字符串信息,而且需要传递二进制文件信息。2008-12-12
使用.NET 6开发TodoList应用之领域实体创建原理和思路
虽然TodoList是一个很简单的应用,业务逻辑并不复杂,至少在这个系列文章中我并不想使其过度复杂,接下来通过本文给大家介绍使用.NET 6开发TodoList应用之领域实体创建思路及原理,需要的朋友可以参考下2021-12-12
asp.net下使用jQuery.AutoComplete完成仿淘宝商品搜索自动完成功能(改进了键盘上下选择体验)
其实这个已经是个比较常见的功能了,网上也有很多人做过这个了,但是很多都是仅仅做了一些基本的网页上自动完成功能,没有与具体的数据库进行联动,我今天所介绍这个自动完成的就是我修改的jQuery.AutoComplete+数据库的一个解决方案。2010-05-05


最新评论