技术架构演变之早期asp.net技术架构
之前发布了技术架构演变之早期jsp技术架构(http://blog.youkuaiyun.com/shellwin/archive/2010/07/01/5707034.aspx)。这个简单的三层架构在本人早期转向开放asp.net的时候也进行相关修改进行了沿用。具体介绍如下:
1. 底层数据连接
(1) 使用了Enterprise Library2006的DAAD模块。具体的介绍可以参见本人博客中的文章(Enterprise Library —— Data Access Application Block,地址:http://blog.youkuaiyun.com/shellwin/archive/2010/07/08/5721887.aspx)
(2) 在这层中定义了一个类,代码如下:
public class DataConnection
{
//创建一个连接数据库得到DataBase的方法
public static Database CreateDatabase()
{
Database database = DatabaseFactory.CreateDatabase("Connection String");
return database;
}
}
对于Connection String配置可以参见本人上面提到的文章进行查看。
2. 对应数据库字段得值对象(Value Object 简称:vo)
(1) 这个就是包含对应数据库字段的get/set属性的方法。
(2) 当然和之前文章中jsp技术架构中一样,如果有必要也可以对ToString()方法进行重写。、
3. 对应值对象(vo)的对象操作(Value Object Control 简称:vocontrol)
(1) 这里就是实现对vo得操作,比如一些基本操作CRUD和一些特殊操作登陆验证等。和之前jsp技术架构中起的作用一样。
(2) 具体实现的话,可以参见如下一个方法代码,这里也是使用的是Enterprise Library进行实现的:
//定义一个添加用户的方法
public bool CreateAdminUser(string name,string pwd)
{
try
{
IDataParameter param = null;
string sql = "insert into adminUser(au_number,au_password,au_state) values(@au_number,@au_password,@au_state)";
DbCommand command = this.database.GetSqlStringCommand(sql);
param = new SqlParameter();
param.ParameterName = "@au_number";
param.Value = name;
param.DbType = DbType.String;
command.Parameters.Add(param);
param = new SqlParameter();
param.ParameterName = "@au_password";
param.Value = pwd;
param.DbType = DbType.String;
command.Parameters.Add(param);
param = new SqlParameter();
param.ParameterName = "@au_state";
param.Value = 1;
param.DbType = DbType.Int32;
command.Parameters.Add(param);
int temp = this.database.ExecuteNonQuery(command);
if (temp > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
throw e;
}
}
4. 请求与相应就是用了asp.net页面进行,通过各个控件的事件进行相关的请求和相应的工作。
总结:
1. 这个属于早期从j2ee开发转向.net开发使用的一个简单的技术架构,具体的代码就没提供给大家,主要是早期开发一些网站时使用的,数据库主要是用sql2000进行开发,对于其中具体使用的相关细致的技术没有提及太多,在之后的技术框架中会慢慢提及。
2. 在使用这个技术架构进行开发过程中,会反复的Ctrl + C和Ctrl + V进行一些通用工具方法的转移,没有将常用工具类进行单独封装。
3. 对于日志,缓存等也没有太多考虑。
4. 总的来说是进行了简单的分层开发,但是还不够细致和规范。