从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式

  • 时间:
  • 浏览:3
  • 来源:uu快3棋牌_uu快3讨论群_规律

  ·每次Controller接口调用,时需引入许多命名空间

  接下来,在应用层去掉 服务层的引用

  这里简单说下仓储层:repository许多我一个 管理数据持久层的,它负责数据的CRUD(Create, Read, Update, Delete) service layer是业务逻辑层,它常常时需访问repository层。有女男友见面这么 说:Repository(仓储):协调领域和数据映射层,利用类事与集合的接口来访问领域对象。Repository 是一个 独立的层,介于领域层与数据映射层(数据访问层)之间。它的位于让领域层感觉不都无需 数据访问层的位于,它提供一个 类事集合的接口提供给领域层进行领域对象的访问。Repository 是仓库管理员,领域层时需哪些地方东西只需告诉仓库管理员,由仓库管理员把东西拿给它,无须时需知道东西实际放进去哪。

 

https://github.com/anjoy8/Blog.Core.git

   运行项目,同时正常,继续往下。

https://gitee.com/laozhangIsPhi/Blog.Core

  ·将会每个仓储都时需这么 写,大概是四遍,会无需太麻烦;

using Blog.Core.IServices;

using Blog.Core.Services;

整个项目运行,没错,继续创建下一层。

  Service层只负责将Repository仓储层的数据进行调用,至于怎么是与数据库交互的,它不去管,原先就可不时需达到一定程度上的解耦,加入之后数据库要换,比如MySql,那Service层就完整不时需修改即可,至于真正意义的解耦,还是得靠依赖注入,这下一节另一个人儿会讲到。

 

  F5 运行项目,调试如下:

  许多,VeiwModels文件夹,是存放的DTO实体类,在开发中,一般接口时需接受数据,返回数据,我之后完整可不上能 这么 红果果的使用的,之后发现弊端很大,不仅把重要信息暴露出去(比如手机号等),还对数据造成冗余(比如我时需接受用户的生日,还时需具体的年、月、日这许多我一个 字段,当然您也可不时需手动拆开,这许多我一个 栗子,许多不都无需 直接用数据库实体类接受),就用到了DTO类的转换,许多频繁的转换又会麻烦,别慌,之后的文章中,另一个人儿会引用AutoMapper来自动转换,这里再买一个 伏笔。

  许多再在 AdvertisementServices 中去实现该接口

  在 IAdvertisementRepository.cs 中,去掉 一个 求和接口

  

  好啦,今天的工作暂时到这里了,许多你看后整体项目的搭建,形状,怎么引用,怎么测试等,当然,这里还是有许多小问题报告 报告 ,比如:

  这里在 IAdvertisementServices 中去掉 接口

  注意!这里是引入了一个 命名空间

   另一个人儿定义了IRepository层,提供了所有的操作接口,今天搭建框架,我简单地写一个 实例,明天另一个人儿将把所有的方法嵌套进去。

  哪些地方地方问题报告 报告 ,下一节另一个人儿可不上能 带另一个人儿同时去慢慢防止!

   将系统默认的ValueController删除,手动去掉 一个 BlogController控制器,可不时需选泽 一个 空的,也可不时需选泽 一个 所含默认读写实例的。如下:

  本项目是我我本人的一个 真实项目,数据完整可不上能 真实的,之后搭建过一个 MVC + EF Code First的项目,本项目许多我基于这些了,前一段时间我将会搭建起来了,是原先的,本系列教程会重新开始英语 了了。

 

 

  其中,Models文件夹中,存放的是整个项目的数据库表实体类,这里是手动创建的,当然也可不时需自动创建,在之后的文章中我会提到,用到的是SqlSugar的T4创建,这里先买一个 伏笔。

  ·等等等等

  最后的是MessageModel和TableModel,另一个人儿也基本一看就能明白,将会在前端接口中,时需固定的格式,以及操作,不都无需 把数据直接发出去,会报错,在之后的Vue开发中,会提到这些,这里又买了一个 伏笔。 如下:

using Blog.Core.IRepository;

using Blog.Core.IServices; 

using Blog.Core.Repository;

  书接上文:前几回文章中,另一个人儿花了二天的时间简单了解了下接口文档Swagger框架,将会完整解放了另一个人儿的之后的Word说明文档,许多可不时需在线进行调试,许多当项目开始英语 了了之中,另一个人儿可不时需定义许多空的接口,将会可不时需返回假数据,原先真正达到了前后端不停留的缺乏,还是很不错的,当然,这离我说的前后端分离还是相差甚远,今天呢,另一个人儿就简单搭建下另一个人儿的项目架构。

  许多再在 AdvertisementRepository.cs 中去实现该接口,记得要去掉 引用,这些应该可不上能 ,就不细说了。  

  天呀!出错辣!别慌,还记得昨天咱们加的权限么,嗯!许多我那里,手动模拟登陆,获取Token,注入,无需的可不时需看上一篇,许多再执行,结果:

   许多,改写Get方法