小白开学Asp.Net Core《二》(补)
小白开学asp.net core《二》(补)
——数据仓储层(repositroy)、服务层(service)
---------------------------------------------------------------------------------------------------------
我胡汉三又回来了(距离上篇时间有点长),今天抽时间将最近对项目的优化写下说明。
1、why
读了上篇文章的朋友们都知道我在项目中(repository 层)引入了两个常用的orm,因此分别写了各自的接口(只能说太幼稚),现将他们整合起来。
2、do
a)、现将repository调整如下:
(图一)
他们之间的关系图如下:
说明:
a)、ibaserepository接口中定义了对数据库操作的常用操作,idapperrepository是基于dapper 的接口定义,isqlsugarrepository 是基于sqlsugar的接口定义。
b)、genericdapperrepositroybase是对idapperrepository的实现,genericsqlsugarrepositorybase是对isqlsugarrepository的实现
具体代码就不贴了直接到 github上 去看看,这里只是说下思路。
说明了他们的关系后,再说下 图一 中的 repositroybase 类
a)、先看代码
1 using aju.carefree.repositories.dapper; 2 using aju.carefree.repositories.sqlsugar; 3 namespace aju.carefree.repositories 4 { 5 public abstract class repositroybase<t, tkey> : genericsqlsugarrepositorybase<t, tkey> where t : class, new() 6 { 7 public repositroybase(string connname) : base(connname) 8 { 9 } 10 } 11 12 //public abstract class repositroybase<t, tkey> : genericdapperrepositroybase<t, tkey> where t : class, new() 13 //{ 14 // public repositroybase(string connname) : base(connname) 15 // { 16 // } 17 //} 18 }
b)、代码贴出来后,肯定都知道我要干啥了。其实这个类起到的作用就是我可以在不动server层与repostiroy层代码时,切换orm(爱用那个就用那个,两个都不喜欢用了可以沿用上面的思路自己扩展个)。
b)、service 层
和上面一样先上图
(图二)
相比较repository层,service层就简单多了,说白了我对该层理解就是 写 业务逻辑 的 。
a)、那么我们来看看iservice接口
1 using aju.carefree.common; 2 3 namespace aju.carefree.iservices 4 { 5 public interface iservice<t, tkey> : idependency where t : class, new() 6 { 7 8 } 9 }
就是这么简单,这么简单为何要写呢?答案其实就是为了实现 ioc,其中idependency 其实就是为了autofac做的
剩下的就是写业务逻辑了!!!这里就不在写了。其中在server实现中要注意的一点就是 如下图所标红的地方
好了,今天就到这里。下编再见。
c)、总结
总结一句话,这篇文章是对上篇文章的补充,也是彻底的放弃了以前的思路。
欢迎大家提意见和建议,共同学习!
--------------------------------------------------------------------------------------------------------------
(本人坚信:学习是由浅到深的过程,先打基础)
不喜勿喷!谢谢!
推荐阅读
-
(二)快速搭建 ASP.net core Web 应用
-
小白开学Asp.Net Core 《八》
-
ASP.NET Core 选项模式源码学习Options IOptions(二)
-
你所不知道的ASP.NET Core MVC/WebApi基础系列 (二)
-
Asp.Net Core 生成二维码(NuGet使用QRCoder)
-
[外包]!采用asp.net core 快速构建小型创业公司后台管理系统(二)
-
详解ASP.NET Core 之 Identity 入门(二)
-
ASP.NET Core部署系列二:发布到CentOS上
-
小白开学Asp.Net Core 《十》
-
K8S+GitLab-自动化分布式部署ASP.NET Core(二) ASP.NET Core DevOps