基于领域式驱动设计(DDD)Ioc(autofac)实现高性能后台框架——StudioCore.1.0

Posted zhangxuelianglove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于领域式驱动设计(DDD)Ioc(autofac)实现高性能后台框架——StudioCore.1.0相关的知识,希望对你有一定的参考价值。

一、环境介绍:

       开发环境:vs2017(.Net Framework 4.5)

       数据库mysql(选择原因是占用资源少)

       ORMSqlSuger(是由园中大神孙凯旋写的,向大神致敬!膜拜!博客园官网

       前端LayUI(扁平化设计,个人体验(看着舒服、用着方便 模块化开发)向团队致敬)

       Web:MVC5

二、整体框架介绍:

先来张图:

技术分享图片

 

01:Client

技术分享图片

 

Client:主要负责客户端,上图建的意义是多个项目可以放到一起,但又不冲突,方便维护管理(MVC 空项目:个人喜欢干净不喜欢冗余的一些代码)

02PluginServices

技术分享图片

 

 PluginServices:主要负责插件 (以组件模式编程)有ClientsPlugin (本地)、InterPlugin (get/post)WCFPlugin (服务) 插件功能一样

2.1:ClientsPlugin 这里是项目内部插件(负责本地一些插件模块)上图主要是后台的插件  主要项目包含:AdminPlugin、BasePlugin、IAdminPlugin

2.1.1AdminPlugin:实现插件功能

2.1.2BasePlugin:过滤插件安全等

2.1.3IAdminPlugin:插件契约

2.2:InterPlugin 这里是针对WebAPI 插件 负责get/post 调用插件

2.3:WCFPlugin 这里是针对服务插件  负责服务调用(跨平台)

2.4:IocCorePlugin 负责插件Ioc集合 方便其他调用

03Manager

 技术分享图片

 

Manager:主要负责业务(相当于连接器,把插件和数据仓储连接起来)

04Repository

 技术分享图片

Repository:数据仓储主要负责模型的一些实现

4.1:BaseRepositorys 定义公共模型契约

4.2:IocCoreRepository 负责数据仓储Ioc集合 方便其他调用

4.3:IRepositorys 数据仓储契约

4.4:Repositorys 数据仓储实现

 05Domain

 技术分享图片

 

 

 

 Domain:主要负责模型及其业务

 5.1 BaseModels 里边包含所有模型的基类(公共方法、属性等)和公共返回模型

5.2 DBModels 主要是数据库基础模型

5.3 DTOModels 里边功能在Domain里业务最多的  一般用户 添加、修改、查询等

5.4 QueryModels 这个主要是用于集合查询  业务较Dto 少 查询映射少 速度快  用于分页等

 

 06Infrastructure

 技术分享图片

 

 

 

Infrastructure: 基础设施类  主要提供一些Helper 

 6.1 AutofacProxy ioc代理 主要负责autofac ioc 的配置

 6.2 DBBuild: 负责生成数据库实体(sqlsuger里边有T4模板生成 有代码生成 我使用的是第二种)

6.3 Factory:工厂 处理一些临时业务

6.4 Utility:帮助类 提供基础服务

 

 07UnitTest

 技术分享图片

 

 UnitTest:单元测试 负责调试功能

三、实现图

 来几张实现图吧~~~~  哈哈   

技术分享图片

技术分享图片

技术分享图片

 

 以上都是个人目前的理解,请各位大神指点,谢谢

需要源码的 联系方式

QQ:358638080

 


以上是关于基于领域式驱动设计(DDD)Ioc(autofac)实现高性能后台框架——StudioCore.1.0的主要内容,如果未能解决你的问题,请参考以下文章

基于领域式驱动设计(DDD)Ioc(autofac)实现高性能后台框架——StudioCore.1.0

领域驱动设计和 IoC/依赖注入

领域驱动设计实战-DDD

DDD领域驱动之干货补充篇!

前端工程化-在React中对DDD领域驱动架构设计的实践

前端工程化-在React中对DDD领域驱动架构设计的实践