对于三层架构来说,就是使用类,把我们在做项目的过程中,具有共同性质的一些对象抽象出来。当然了,这也是面向对象的一部分。其中的三层所指的就是:①实体层②数据库访问层③业务逻辑层。下面学步园小编来讲解下.NET有哪些架构?
.NET有哪些架构
1)首先还是先来介绍一下实体层吧,就是我们通常所说的Entity
实体就是我们在开发项目过程中所要涉及的一些对象。把这些所要涉及的对象(如:新闻名称,新闻上传时间,供稿人,上传文件的名称等),都抽象成一个类。使用封装字段方法,我们可以在视图层通(主要是视图层)过实例化对象的方法,来给我们的对象的属性赋值。
简单的看一段代码吧,可能会能够更加的清楚,明白
publicclassNewsModel
{
//新闻编号
privateintnNewsId;
publicintNNewsId
{
get{returnnNewsId;}
set{nNewsId=value;}
}
//新闻名称
privatestringstrNewsName;
publicstringStrNewsName
{
get{returnstrNewsName;}
set{strNewsName=value;}
}
}
这里的NewsModel就是一个关于新闻的实体类,其中声明了两个private的属性字段(一定要是private,防止非法赋值),使用public的构造函数,可以在外部给字段赋值。
下面的就是在视图层来实例化对象,根据需要来给字段赋值,看下面的一段代码:
NewsModelnewModel=newNewsModel();
newModel.StrNewsName=this.TextBox1.Text;
当然了,这仅仅是一段代码,其中并没有给字段nNewsId赋值,因为我把它作为数据库的id地段,已经设置成自动增长。这样,就完成了视图层对实体层的调用。
.NET有哪些架构
2)数据库访问层
数据库库访问层,顾名思义,就是主要来完成对数据库的访问,等一系类的对数据库操作的类。为什么要单独的把对数据库的操作抽象成一个单独的类,我个人理解是因为在整个项目的开发过程中,不仅仅需要一次访问数据库,而是需要多次,如果每次都编写数据库访问代码的话,会增加程序员的个人工作量,而且对于代码的易用性和简洁性来说肯定是非常糟糕的。当然来可能还有其它的一些优点,我暂时还没有发现。
既然是对数据库的操作类,而且对数据库的操作,无非就是四种:增删改查。所以一个能提供增删改查的通用类是必不可少的。这就是我们经常所说的,通用数据库访问类(很多的程序员都喜欢把这个类命名为SqlHelper,既然是名字,都是可以随意起的,只要不违反C#语法命名规范,当然这样命名也是有好处,就是可以使其他程序员根据类的名称,大概判断出这个类是要干什么的)。
当然了,我这次做自己项目的时候,所写的数据库访问类就没有我上次看周金桥老师的书,然后模仿写的数据库访问类那么的复杂了(《【ASP.NET开发】ASP.NET对SQLServer的通用数据库访问类》)。当然了,我这里的数据库访问类,主要还是为了简介,和易用,只要满足我自己当前项目的需要就可以了,不是每做一个项目,都要写一个功能全面的数据库访问类。
代码如下,请大家参考,更喜欢哪个访问类,自己可以根据自己口味,或者需要,直接用也可以:
/// ///创建一个SqlHelper的数据库访问通用类,完成对数据库的所有操作 ///
publicclassSqlHelper
{
//定义数据库的连接字符串
privatestaticreadonlystringconnectionString=ConfigurationManager.ConnectionStrings["strConnectionString"].ConnectionString;
/// ///创建方法,完成对数据库的非查询的操作 ///
///
///
/// publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]parameters) { using(SqlConnectioncon=newSqlConnection(connectionString)) { con.Open(); using(SqlCommandcmd=con.CreateCommand()) { cmd.CommandText=sql; cmd.Parameters.AddRange(parameters); stringstr=sql; returncmd.ExecuteNonQuery(); } } } /// ///完成查询的结果值 /// ///
///
/// publicstaticintExecuteScalar(stringsql,paramsSqlParameter[]parameters) { using(SqlConnectioncon=newSqlConnection(connectionString)) { con.Open(); using(SqlCommandcmd=con.CreateCommand()) { cmd.CommandText=sql; cmd.Parameters.AddRange(parameters); returnConvert.ToInt32(cmd.ExecuteScalar()); } } } /// ///主要执行查询操作 /// ///
///
/// publicstaticDataTableExecuteDataTable(stringsql,paramsSqlParameter[]parameters) { using(SqlConnectioncon=newSqlConnection(connectionString)) { con.Open(); using(SqlCommandcmd=con.CreateCommand()) { cmd.CommandText=sql; cmd.Parameters.AddRange(parameters); SqlDataAdapteradapter=newSqlDataAdapter(cmd); DataTabledt=newDataTable(); adapter.Fill(dt); returndt; } 以上就是关于“.NET有哪些架构”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!