1、环境及优势介绍:html
开发环境:vs2017(.Net Framework 4.5)前端
数据库:MySQL(选择缘由是占用资源少)git
ORM:SqlSuger(是由园中大神孙凯旋写的,向大神致敬!膜拜!博客园,官网)github
前端:LayUI(扁平化设计,我的体验(看着舒服、用着方便 模块化开发)向团队致敬)sql
Web:MVC5数据库
Ioc:autofac(推荐博客:NET领域最为流行的IOC框架之一Autofac,ASP.NET MVC IOC 之AutoFac攻略等)编程
优势:性能高、可扩展、灵活性好、安全性(数据安全,即便是本地后台取数据,也有安全过滤)、代码规范、开发维护简单、面向插件编程、功能(模块)独立缓存
2、总体框架介绍:安全
先来张图(项目架构):架构
框架中各个模块介绍
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:主要负责业务(至关于链接器,把插件和数据仓储链接起来)
3.1 AdminManager 后台业务链接器
3.2RedisManager 把业务数据缓存到Redis 提升访问效率 可扩展分布式(我的理解:为何要加到Manager业务这呢?可能不少人以为不合理,通常可能会放到数据仓储哪(Repository),我以为加缓存的意义应该是项目启动的时候 就把须要的东西加载出来,缓存起来,若是加到仓储的话,会把全部的都缓存起来,有些当前用不到的模型数据也会缓存起来,这样就会形成资源浪费(财大气粗的当作空气~),加到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:单元测试 负责调试功能
3、实现图
来几张实现图吧~~~~ 哈哈
后台登陆页
后台主页
后台主页(折叠侧边栏)
页面列表
-----------------未完待续(下一篇 Domain——框架的核心)------------------------------
联系方式 QQ:358638080