首页 / ASP.NET MVC / 正文

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](七)

7544 1评论 发布于: 2017-12-22 读完约需4分钟

前言

大家好,我依旧是你们的老朋友Rector,很高兴又在周五的时候准时和大家见面。

Rector的系列文章【一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar]】从写作以来,已经出了六期了,其中受到了很多朋友的喜欢,在此非常感谢大家对Rector的支持,也希望Rector的文章可以帮助大家(特别是才接触或者是对.NET/C#高级编程比较薄弱的朋友们)在.NET/C#的开发之旅中更快地提升自己的开发技巧和经验。

上一篇《一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](六)》我们对TsBlog应用程序的仓储层进行了一次重大的重构,即:使用泛型仓储将通用的数据库操作进行了封装,让我们在创建仓储层接口和实现的时候能精简重复的代码,今天要给大家分享的是对服务层的泛型封装和重构,实现原理大致与仓储层相似。

本文知识要点

  • 泛型服务层的封装与重构

重构服务层

提取泛型服务基类

打开项目【TsBlog.Services】,创建 服务层通用接口类 IService.cs,在其中创建服务层通用的接口方法,如下:

再创建 泛型基类 GenericService.cs,在其中创建服务层通用的方法,如下:

精简并修改 IPostService.cs

再精简并修改 PostService.cs

最终的 Global.asax.cs :

重新编译并按F5运行 【TsBlog.Frontend】Web应用程序,你会看到如下的错误提示:

create-aspnet-mvc-5-web-application-repository-autofac-automapper-sqlsugar-step-by-step-07-01.png

这是为什么呢?是因为我们之前写好的 PostRepository.cs类中没有继承IPostRepository接口,但我们在 PostService.cs 类中使用了非泛型的 IPostRepository接口,所以在 PostRepository.cs 类中添加 IPostRepository 的接口,此时的 PostRepository.cs

再次按F5运行,打开页面[http://localhost:54739/home/post ],页面又回来了,哈哈。。。

本文的源码托管地址:https://github.com/lampo1024/TsBlog/releases/tag/v1.7.1

本文学习到此结束,本系列未完待续,我们下期再见……

如果你喜欢Rector的本系列文章,请为我点个大大的赞。
如果遇到问题,欢迎加入图享网官方QQ群:483350228

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: 数据库管理工具神器-DataGrip,可同时管理主流的不同产品的数据库[SQL Server,MySQL,Oracle,Sqlite,PostgreSQL,DB2等]

下一篇: .NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?

本文永久链接码友网 » 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](七)

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册

热门评论

lisenquan (2018-01-10 00:31)

您好,首先谢谢您,跟着你的文章学到了不少东西,但是我想请教一下,您有没有一张清晰一点的仓储层和服务层、还有其他层之间的关系图,还有这个系列到了第八章之后还会更新吗?期待.... 谢谢。
回复 赞(0)