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