博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两种底层数据层操作时的架构方式,你喜欢那种?
阅读量:5967 次
发布时间:2019-06-19

本文共 1332 字,大约阅读时间需要 4 分钟。

第一种,效率较高,也是很多开源项目用的方法,使用了贬型
第二种,比较基础,安全性比较高,讲究面向接口的编程,我所以实体对象都继承自统一的接口
 
#region 数据底层操作架构一
/// 
/// 用户实体
/// 
public class User
{
public string UserName { get; set; }
public int Age { get; set; }
}
 
public class UserRepository : IRepository
{
 
#region IRepository
Members
 
public User Get(object id)
{
User user = new User { };
return user;
}
 
public IQueryable
GetList()
{
throw new NotImplementedException();
}
 
#endregion
}
 
/// 
/// 数据操作统一接口,它提供一个贬型作为参数,但要求贬型必须是类
/// 
/// 
public interface IRepository
where T : class
{
/// 
/// 获取实体
/// 
/// 主键
/// 
T Get(object id);
/// 
/// 得到列表
/// 
/// 
IQueryable
GetList();
}
#endregion
 
#region 数据底层操作架构二
class User2 : IDataEntity
{
public string UserName { get; set; }
public int Age { get; set; }
}
/// 
/// 数据实体统一接口
/// 
public interface IDataEntity
{
}
/// 
/// 数据操作统一接口
/// 
public interface IRepository2
{
/// 
/// 获取实体
/// 
/// 主键
/// 
IDataEntity Get(object id);
/// 
/// 得到列表
/// 
/// 
IQueryable
GetList();
}
public class User2Repository : IRepository2
{
 
#region IRepository2 Members
 
public IDataEntity Get(object id)
{
throw new NotImplementedException();
}
 
public IQueryable
GetList()
{
throw new NotImplementedException();
}
 
#endregion
}
#endregion

转载地址:http://efmax.baihongyu.com/

你可能感兴趣的文章
C#获取文件大小
查看>>
HTML和CSS 基本要点必看
查看>>
关于Cocoa框架的争论
查看>>
万用表判断场效应管的好坏
查看>>
py requests.post2
查看>>
JS判断当前DOM树是否加载完毕
查看>>
2017.11.24
查看>>
异步方法(九)
查看>>
第一个SSCLI范例:echo的调试问题
查看>>
从前台获取的数据出现乱码的解决方法
查看>>
SSH基础
查看>>
PhpStorm下Laravel代码智能提示
查看>>
Python模块(二)(序列化)
查看>>
取值范围
查看>>
bool?
查看>>
warning:1071 (42000) Specified key was too long;max key length is 1000 bytes
查看>>
大数据之R语言速成与实战
查看>>
隐马尔科夫模型及Viterbi算法的应用
查看>>
HADOOP综合应用架构之一 配置Secondarynamenode在另一台机器运行
查看>>
Modelsim-altera 仿真 顶层原理图的解决办法
查看>>