博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BCVP开发者说第一期:Destiny.Core.Flow
阅读量:4033 次
发布时间:2019-05-24

本文共 2419 字,大约阅读时间需要 8 分钟。

沉静岁月,淡忘流年

1

项目简介

Destiny.Core.Flow

Destiny.Core.Flow是基于.NetCore平台,轻量级的模块化开发框架,Admin管理应用框架,旨在提升团队的快速开发输出能力,由常用公共操作类(工具类、帮助类)、分层架构基类,第三方组件封装等组成。

Destiny.Core.Flow重写微软的identity用户角色和重写IdentityServer4的实体,以及IdentityServer的ClientAPisource等查询仓库实现,将IdentityServer4和Identity以及其他模块合并成为一个上下文,在使用IdentityServer4时不需要在维护几个上下文,统一了上下文管理。
框架lambda查询不需要在后台写各种判断,所有的查询条件通过前端传入,从而减少后台的一些字符段判断等,使用动态拼接lambda。

原项目地址:

https://github.com/DestinyCore/Destiny.Core.Flow

作者博客:

https://www.cnblogs.com/pual13/

 

2

框架功能

 

在线项目演示:

https://admin.destinycore.club

在线展示(这版本目前没法使用(后面再维护),VUE版本正在开发)

账号:Test002
密码:123456

后面支持VUE版本

在线后端API:

https://api.destinycore.club

该项目是基础版不提供工作流版本

系统设置

  1、用户管理

  2、角色管理
  3、菜单管理
  4、功能管理
  5、数据字典
  6、组织架构
  7、操作审计
  8、数据审计
  9、工作流(暂时不支持)

3

框架技术栈

数据库
    MySql
    Redis
    MongoDB
.Net Core技术
    MSDI (个人扩展批量注入)
    Consul服务注册发现
    基于MediatR实现事件总线
    AutoMapper对象映射
    在仓储层实现了自动转实体层不需要手动注入实现转化
    SignalR即时通信(暂时不支持)
    EntityFrameworkCore ORM框架
    MongoDB
    Redis

4

分层介绍

    框架分层

  • Infrastructure 基础建设层

    • Destiny.Core.Flow

      用来替换之前的Common层,实现注解式模块化挂载、事件总线、自动DI注册、通用查询模型、lambda表达式动态生成、仓储接口定义、权限接口定义、自定义扩展方法等。

    • Destiny.Core.Flow.EntityFrameworkCore

      EFCore上下文定义、扩展EF映射数据库配置接口以及类、在SaveChanges实现发送日志事件进行记录数据操作日志、仓储接口实现、EFCore模块抽象类定义。

    • Destiny.Core.Flow.Identitys

      重写微软Identity自带用户角色的代码。

    • Destiny.Core.Flow.IdentityServer

      重写IdentityServer相关接口,及相关映射,实现通过仓储操作相关数据

    • Destiny.Core.Flow.IdentityServer.Entities

      IdentityServer相关实体

    • Destiny.Core.Flow.AspNetCore

      NetCoreAPI通用层,权限过滤器,日志过滤器、异常中间件、控制器返回同意格式模型。

    • Destiny.Core.Flow.CodeGenerator 代码生成器

      已实现,可以生成实体、DTO、接口、控制器。

    • to do…

  • Business 业务层

    • Destiny.Core.Flow.Dtos

      前端与后端交互Dto模型定义。

    • Destiny.Core.Flow.IServices

      业务接口定义。

    • Destiny.Core.Flow.Services

      业务接口实现。

    • Destiny.Core.Flow.Model

      数据库实体模型定义

    • Destiny.Core.Flow.API

      API接口定义。

    • Destiny.Core.Flow.AuthenticationCenter

      IdentityServer授权中心

    • to do…

  • Moduls 模块层

    • Destiny.Core.Flow.Aop 模块

      使用AspectCore来实现AOP动态代理。

    • Destiny.Core.Flow.AutoMapper 模块

    • Destiny.Core.Flow.Caching 缓存接口定义模块

    • Destiny.Core.Flow.Caching.CSRedis 基于CSRedis实现缓存功能模块

    • Destiny.Core.Flow.Consul 服务发现模块

    • Destiny.Core.Flow.SwaggerUI 模块

    • Destiny.Core.Flow.MongoDB 模块

      集成MongoDB分页查询,添加,更新,删除。实现MongoDB单独仓储

基于Net/Core,快速搭建 API & SPA 及微服务应用组织

BASE NETCORE (VUE) PROJECT TEAM

每一个.NET开发者都可以通过自己的开源项目(最好可以配套简单发表些文章)在这里进行分享,BCVP开发者组织的意义就是激发和挖掘更多的作品,可能偏基础,但是都会有价值。目的就是希望:每个人能将从社区学到的知识,进行自己消化和总结,浓缩成一个个独立的项目,接着投入到社区,最后让更多的初学者去了解、去学习、去思想碰撞,从而达到学习来源于社区,最后反哺于社区的良好循环目的,我们都是学生,也都是下一批初学者的老师,这才应该是一个社区正向推动的方法。

地址:

https://github.com/BaseCoreVueProject

可以在Home仓库里,查看具体的流程说明,只要你愿意分享,就来吧。

加入我们

你可能感兴趣的文章
Maximum Subsequence Sum
查看>>
PTA:一元多项式的加乘运算
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
Django 的Error: [Errno 10013]错误
查看>>
机器学习实战之决策树(一)
查看>>
[LeetCode By Python] 2 Add Two Number
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[LeetCode By Python]9. Palindrome Number
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]108. Convert Sorted Array to Binary Search Tree
查看>>
[leetCode By Python]111. Minimum Depth of Binary Tree
查看>>
[LeetCode By Python]118. Pascal's Triangle
查看>>
[LeetCode By Python]121. Best Time to Buy and Sell Stock
查看>>
[LeetCode By Python]122. Best Time to Buy and Sell Stock II
查看>>
[LeetCode By Python]125. Valid Palindrome
查看>>