.net三层结构初探分析第1/4页_实用技巧

对于学习,我选择了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:数据库连接代码

当前1/4页 1234下一页阅读全文

时间: 2024-08-04 02:12:12

.net三层结构初探分析第1/4页_实用技巧的相关文章

ASP.NET缓存方法分析和实践示例代码第1/2页_实用技巧

内存现在非常便宜 - 因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高.缓存可以掩盖许多过失 缓存是一种无需大量时间和分析就可以获得"足够良好的"性能的方法. 这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存 30 秒,而不是花上一整天甚至一周的时间尝试优化代码或数据库就可以获得所需的性能,您肯定会选择缓存解决方案(假设可以接受 30 秒的旧数据).缓存正是那些利用 20% 付出获得 80% 回报的特性之一,因此,要提高性能,应该首先想到缓存. 不过,

.Net与JS时间日期格式的转换问题对比分析_实用技巧

本文实例分析了.Net与JS时间日期格式的转换问题.分享给大家供大家参考,具体如下: Js中的1415349957524整数 ,其实代表的是1970.1.1 00:00:00至现今某个时间点的时间间隔毫秒数.而在.Net中,我们可以用Ticks属性得到0001.1.1 00:00:00至现今某个时间点的时间间隔毫秒数. 具体代码实现如下所示: JS: //获取1970.1.1 00:00:00至现在的毫秒数 var milDate = +(new Date); .Net: //获取1970.1.

关于VS2012自带的 性能分析 工具使用实例(图文介绍)_实用技巧

本篇通过一小段代码的console程序来进行性能的分析以及改进.直到后面的改进前.改进后性能比较结果. 先看console代码(源代码下载): 复制代码 代码如下: static void Main(string[] args)        {            int i = 10000;            while(i-->0)            {                Core c=new  Core();                c.Process(Dat

ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现_实用技巧

今天接到新的需求,要求将Excel表格中的数据显示在页面上. 我个人分析,首先要将Excel中的数据存到数据库中,再进行页面显示,本人菜鸟级别,以前没有做过读取Excel数据,研究了一下(主要是看别人的资料),写一下实现过程,我想写几篇关于Excel的,首先是规则的Excel数据导入,再有就是不规则的Excel数据导入,还有就是根据数据生成Excel. 下面开始:将规则的Excel导入数据库 首先看一下Excel结构,如图:  这是一个简单的.规整的Excel格式,将它导入到数据库中 复制代码

MVC 5 第二章 MVC5应用程序项目结构_实用技巧

单从MVC的字面意思我们便能够注意到M-模型, View-视图, Controller-控制器,他们都各自存储在解决方案下的单独的文件夹中.除此之外还有很多有用的信息值得我们去探索,废话少说,首先我们来看一下MVC 5的项目结构. 通过上图,我们可以清晰地了解到MVC 5应用程序的项目结构,接下来我们来依次解释下他们各自的应用. App_Data: 该文件夹主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储. Ap

Asp.Net中索引器的用法分析_实用技巧

本文实例分析了Asp.Net中索引器的用法.分享给大家供大家参考.具体如下: 索引器定义类似于属性,但其功能与属性并不相同.索引器提供一种特殊的方法编写get和set访问器.属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员. 一.索引器特性 1.get 访问器返回值.set 访问器分配值. 2.this 关键字用于定义索引器. 3.value 关键字用于定义由 set 索引器分配的值. 4.索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制. 5.索引器可

.NET基础之自定义泛型分析_实用技巧

本文实例分析了.NET基础之自定义泛型.分享给大家供大家参考.具体分析如下: 在.NET中泛型使用非常频繁,在控制台应用程序中,默认的引入了System.Collection.Generics名称空间,其中就提供了我们经常使用的泛型:List<T>和Dictionary<T>,相信用过它们的都知道它们的强大.还有一种我们经常使用的简单的泛型:System.Nullable<T>,即可空类型.我们可以:   System.Nullable<int> nulla

DataTable类Clone方法与Copy方法的区别分析_实用技巧

DataTable.Clone 方法:克隆 DataTable 的结构,包括所有 DataTable 架构和约束. DataTable.Copy 方法:复制该 DataTable 的结构和数据. 我们可以编写如下的程序,进行验证: 复制代码 代码如下:         static string connStr = "Server=.\\sqlexpress;Initial Catalog=hr;Integrated Security=True";         static voi

阿里云上从ASP.NET线程角度对“黑色30秒”问题的全新分析_实用技巧

在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. "黑色30秒"问题现象的主要特征是:排队的请求(Requests Queued)突增,到达HTTP.SYS的请求数(Arrival Rate)下降,QPS(Requests/Sec)下降,CPU消耗下降,Current Connections上升. 昨天晚上18:08左右发生了1次"黑色30秒",正好借此案例分析一下. 1.为什么Requests Qu