如何编写自己的数据访问层

概述

    在二开(族库、算量等)或者大部分管理软件的开发中,多数系统架构是基于数据库设计的,那么怎么设计数据访问层呢?

一、设计框架

图中分成三块:

1、左边的xxxServices为app公开访问数据接口;

2、中间红色部分为底层操作数据库接口,通过依赖注入的方式给xxxServices使用;

3、xxx DAL为底层操作数据库接口的具体实现,可能是SQL Server的实现,可能是用于程序开发的的Fake数据提供的实现,也可能是阿里云、腾讯云等云服务器的数据访问的实现等;

二、导出DAL代码

    1、使用“PowerDesigner”设计数据表和它们之间的关系;

    2、使用“PowerDesigner”导出SQL脚本,比如SQL Server脚本,在SQL Server 数据库管理工具中运行即可把所有表都创建出来;

    3、使用“动软代码生成器”连接数据库,导出Model、DAL和DLL层代码,它的脚本挺有意思的,在<# ...  #>间直接写C#代码。软件本身提供了默认脚本,可使用直接导出代码看看效果;

    4、测试、使用。默认脚本一般不会符合自己要求,可根据导出代码修改脚本。

二、代码实现

三、总结

    关于数据访问层,一些第三方工具完全可以实现快速搭建,比如EF、Nhibernate等等,大家可尝试下。自己设计、实现架构意在更加深刻理解其设计理念,使用第三方工具可能会更快、更稳健,毕竟数据访问层的设计逻辑可以固化了,不过笔者没用过。。

   上述系统设计详解见“Microsoft .NET企业级应用架构设计”一书;

    对于一些简单的应用场景是否需要这么复杂的设计,比如,程序只需要访问数据库中一张表、三两字段即可,你让我搞这么大堆代码,是否合适?

    本人的看法是:怎么简单怎么来。不过,在多数情况,码代码是枯燥了,if else写到吐、Ctrl + C/V把键盘都按褪色了 - -#,那么何不找点有意思的事情做做,比如架构设计与实现?

 

下载地址:https://download.csdn.net/download/w051108/14021892

示例代码实现了SQLite数据库的操作,也可在 757293457 二开的群中下载,书也有。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值