基于领域式驱动设计(DDD)、Ioc(autofac)实现高性能后台框架
一、环境介绍: ? ? ? ?开发环境:vs2017(.Net Framework 4.5) ? ? ? ?数据库:MySQL(选择原因是占用资源少) ? ? ? ?ORM:SqlSuger(是由园中大神孙凯旋写的,向大神致敬!膜拜!博客园,官网) ? ? ? ?前端: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |