当前位置: 网学 > 编程文档 > 其他类别 > 正文

系统架构师谈企业应用架构之数据访问层

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12
我们提出满足数据库的无缝迁移,通过XML配置文件,配置不同的数据库链接来实现这样的功能,那么首先我们需要定义针对不同数据库具体实现,才能完成后续

的操作,既然我们这里要降低耦合,那么根据我们前面的面向对象的设计原则与规范知道,我们推荐使用面向接口的编程的方式,来尽量的降低耦合性。我们来看看具

体的代码。首先我们定义一个通用的数据访问层的接口。

  1. /// <summary>  
  2. /// 数据访问层统一接口  
  3. /// </summary>  
  4. public interface IDALInterface  
  5. {  
  6. //CUD 持久化操作  
  7. /// <summary>  
  8. /// 创建新的对象  
  9. /// </summary>  
  10. /// <param name="model"></param>  
  11. /// <returns></returns>  
  12. int Create(object model);  
  13. /// <summary>  
  14. /// 更新对象  
  15. /// </summary>  
  16. /// <param name="model"></param>  
  17. /// <returns></returns>  
  18. int Update(object model);  
  19. /// <summary>  
  20. /// 删除对象  
  21. /// </summary>  
  22. /// <param name="model"></param>  
  23.  /// <returns></returns>  
  24. int Delete(object model);  
  25. //R 查询服务  
  26. /// <summary>  
  27. /// 查询所有记录  
  28. /// </summary>  
  29. /// <typeparam name="T">泛型模型</typeparam>  
  30. /// <returns></returns>  
  31. IList<T> GetAll<T>() where T : class,new();  
  32. /// <summary>  
  33. /// 查询满足条件的集合  
  34. /// </summary>  
  35. /// <typeparam name="T"></typeparam>  
  36. /// <param name="whereCondition"></param>  
  37. /// <returns></returns>  
  38. IList<T> GetListByQuery<T>(WhereCondition whereCondition) where T : class,new();  
  39. /// <summary>  
  40. /// 返回总行数  
  41. /// </summary>  
  42. /// <typeparam name="T"></typeparam>  
  43. /// <returns></returns>  
  44. int GetCount<T>();  
  45. /// <summary>  
  46. /// 返回满足条件的总行数  
  47. /// </summary>  
  48.  /// <typeparam name="T"></typeparam>  
  49. /// <param name="whereCondition"></param>  
  50. /// <returns></returns>  
  51. int GetCount<T>(WhereCondition whereCondition);  
  52. /// <summary>  
  53. /// 根据主键返回对象模型  
  54. /// </summary>  
  55. /// <typeparam name="T"></typeparam>  
  56. /// <param name="key"></param>  
  57. /// <returns></returns>  
  58. T GetModelByKey<T>(object key) where T : class,new();  
  59. //事务  
  60. /// <summary>  
  61. /// 是否事务执行  
  62. /// </summary>  
  63. bool IsTransaction  
  64. {  
  65. get;  
  66. }  
  67. /// <summary>  
  68. /// 开始事务  
  69. /// </summary>  
  70. void BeginTransaction();  
  71. /// <summary>  
  72. /// 提交事务  
  73. /// </summary>  
  74. void Commit();  
  75. /// <summary>  
  76. /// 回滚事务  
  77. /// </summary>  
  78. void Rollback();  

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号