ASP.NET MVC IOC 之AutoFac攻略
一、环境及优点介绍:
开发环境:vs2017(.net framework 4.5)
数据库:mysql(选择原因是占用资源少)
orm:sqlsuger(是由园中大神孙凯旋写的,向大神致敬!膜拜!,)
前端:layui(扁平化设计,个人体验(看着舒服、用着方便 模块化开发)向团队致敬)
web:mvc5
ioc:(推荐博客:net领域最为流行的ioc框架之一autofac,asp.net mvc ioc 之autofac攻略等)
优点:性能高、可扩展、灵活性好、安全性(数据安全,即使是本地后台取数据,也有安全过滤)、代码规范、开发维护简单、面向插件编程、功能(模块)独立
二、整体框架介绍:
先来张图(项目架构):
框架中各个模块介绍
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 提高访问效率 可扩展分布式
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:单元测试 负责调试功能
三、实现图
来几张实现图吧~~~~ 哈哈
后台登录页
后台主页
后台主页(折叠侧边栏)
页面列表
-----------------未完待续(下一篇 domain——框架的核心)------------------------------
联系方式 qq:358638080
下一篇: Redis的初识
推荐阅读
-
ASP.NET MVC5网站开发之网站设置(九)
-
ASP.NET MVC5网站开发之展示层架构(五)
-
ASP.NET MVC5网站开发之总体概述(一)
-
解析ASP.NET Mvc开发之删除修改数据
-
ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)
-
ASP.NET MVC5网站开发之业务逻辑层的架构和基本功能 (四)
-
ASP.NET MVC5网站开发之添加删除重置密码修改密码列表浏览管理员篇2(六)
-
ASP.NET MVC IOC依赖注入之Autofac系列(一)
-
利用ASP.NET MVC+Bootstrap搭建个人博客之修复UEditor编辑时Bug(四)
-
利用ASP.NET MVC+Bootstrap搭建个人博客之打造清新分页Helper(三)