【asp.net core 系列】- 11 Service层的实现样板
2021-02-02 05:14
标签:space bst service dir tde eve null frame int 在《asp.net core 系列》之实战系列中,我们在之前的篇幅中对项目有了一个大概的认知,也搭建了一个基础的项目骨架。那么就让我们继续完善这个骨架,让它更加丰满。这一篇,我将带领小伙伴们一起实现用户管理功能。 一般情况下,我们会把用户表和登录信息表放在两个表里。为什么会这样设计呢?出于以下几种考虑: 等等 废话不多说,直接上代码: SysUserAuthEntity.cs SysUserInfoEntity.cs 这里并没有使用数据库Sql语句作为数据库描述,而是使用了Entity类作为描述,这是因为数据库到实体类之间还是有一层转换,对于开发而言接触更多的是实体类,而不是数据表。 使用工具代码的方式有很多,我在这里推荐一种, Test项目中,添加一个测试类,具体代码如下: 具体的命令行执行比较麻烦,会执行所有的测试单元: 当然了,IDE支持单个测试单元的执行,具体操作这里就不做过多的介绍了。 通常Service接口会提供一个简单Crud的Service接口,然后其他业务接口继承该接口。这样可以减少代码的重复,因为重复的代码在开发过程中是非常讨厌的一种情况,因为一旦一处发生变更,其他的也有可能发生变更。所以遇到重复代码一般都会进行一定程度的封装: 暂时就提供了这些最常见的请求方法。 在Service.Implements项目中: 这个类设置为抽象类。 先创建了两个简单的示范接口: 实现类: 这里没对密码进行加密处理,直接使用明文。这在正式开发中是不允许的,密码不能使用明文保存。当然,这也不是最终代码,下一篇我们将介绍一下.net core中常见的加密实现。 这一篇通过几个简单的示例为大家介绍了一下Service层的开发逻辑以及理念。下一篇将为大家介绍一下.net core中几种简单的加密实现。 更多内容烦请关注我的博客《高先生小屋》 【asp.net core 系列】- 11 Service层的实现样板 标签:space bst service dir tde eve null frame int 原文地址:https://www.cnblogs.com/c7jie/p/13173433.html0.前言
1. 数据表
namespace Data.Enums
{
///
using Data.Enums;
using Data.Infrastructure;
namespace Data.Models
{
public class SysUserAuthEntity : BaseEntity
using System;
using Data.Enums;
using Data.Infrastructure;
namespace Data.Models
{
public class SysUserInfoEntity : BaseEntity
2. 生成 Repository相关
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Text;
using Utils.Develop;
namespace Test
{
public class DevelopTest
{
[Test]
public void TetDevelop()
{
var d = Develop.CurrentDirect;
Console.WriteLine(d);
Assert.IsTrue(d.Contains("template"));
var entities = Develop.LoadEntities();
foreach (var item in entities)
{
Console.WriteLine(item.FullName);
}
}
[Test]
public void TestCreateDevelop()
{
var entities = Develop.LoadEntities();
foreach (var item in entities)
{
Develop.CreateRepositoryInterface(item);
Develop.CreateRepositoryImplement(item);
Develop.CreateEntityTypeConfig(item);
}
Assert.Pass();
}
}
}
cd Test/
dotnet test
3. Service 接口和实现类
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using Data.Infrastructure;
namespace Service.Insfrastructure
{
public interface BaseService
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using Data.Infrastructure;
using Domain.Insfrastructure;
using Service.Insfrastructure;
namespace Service.Implements.Insfrastructure
{
public abstract class BaseServiceImpl
4. 用户管理的接口
using Data.Models;
using Service.Insfrastructure;
namespace Service
{
public interface ISysUserService : BaseService
using System;
using Data.Models;
using Domain.Repository;
using Service.Implements.Insfrastructure;
namespace Service.Implements
{
public class SysUserServiceImpl : BaseServiceImpl
5. 总结
上一篇:mvc2项目实践
下一篇:Tomcat配置https
文章标题:【asp.net core 系列】- 11 Service层的实现样板
文章链接:http://soscw.com/index.php/essay/49818.html