<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      架構設計分享之權限系統(tǒng)(看圖說話)

      2014-08-31 22:41  圣殿騎士  閱讀(35111)  評論(185)    收藏  舉報

      前面一篇文章《最近架構隨想》,我提到架構設計的一些構想,其實也是對之前項目經(jīng)驗的一些歸納及總結(jié)。今天我們就以權限系統(tǒng)作為切入點,談一談怎么設計權限系統(tǒng)以及怎么做到系統(tǒng)具有以下特性:

      1. Organized:如果系統(tǒng)組織比較好,可以起到事半功倍的效果。
      2. Encapsulated:對功能,結(jié)構,數(shù)據(jù)進行有效的封裝,會使系統(tǒng)維護變得更加容易。
      3. Reusable:對常用功能以及組件進行有效的封裝,可以使系統(tǒng)變得結(jié)構清晰且方便維護。
      4. Extensible:在設計系統(tǒng)的時候,如果很好的遵守OO的設計理念(OO的五大原則SOLID),即使系統(tǒng)做得很大,也會像火箭一樣直沖云霄!
      5. Replaceable:在很多時候我們需要考慮到系統(tǒng),組件或者功能的可替換性,因為需求是會變的。
      6. Testable:做到系統(tǒng)的可測性,會大大幫助開發(fā)以及維護,對團隊開發(fā)以及分工協(xié)作起著非常重要的作用。
      7. Loose Coupling:隔離耦合是架構設計必須要考慮的一個因素,如果系統(tǒng)不能做到高內(nèi)聚、低耦合,那么在維護,升級,新功能開發(fā)方面就會是一場噩夢!
      8. High Performance:高性能是系統(tǒng)設計必須重視的要點,用戶不可能忍受簡單頁面加載超過十秒,也不可能接受頁面操作頻繁卡死的情形,所以在架構設計的時候必須從數(shù)據(jù)庫,邏輯,服務以及UI進行合理的優(yōu)化。
      9. Scalability:如果能做到前面的幾點,那么我有理由相信你的系統(tǒng)一定具備Scalability。
      10. Enjoy Your Life:最后一點也是最重要的一點,不要忙碌于重復的碼農(nóng)工作,喝杯咖啡,享受代碼,早點回家,陪老婆、陪小孩,環(huán)球旅游,享受生活!

      廢話半天,下面就開始看圖說話環(huán)節(jié):

      架構設計圖:

      image

       

      部署及組件圖:

      28-7-2014 12-27-11 AM

       

      詳細解決方案:

      image

      01_Client:存放UI相關的項目,比如Winform, WPF,ASP.NET, Silverlight,ASP.NET MVC或者相關的Web Model及View Model項目。

      02_Hosting:存放與Service相關的項目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。

      03_Domain:業(yè)務邏輯相關的所有實體以及操作(根據(jù)OO的思想設計類以及類之間的關系)。

      04_Infrastructure:非業(yè)務方面的功能框架 (Data,Common,DataContract,AOP, IOC,Logging,Encryption,Email)。

      05_Database:數(shù)據(jù)庫項目(包含所有數(shù)據(jù)庫腳本,方便開發(fā),部署以及維護)。

      06_Tests:所有測試項目(數(shù)據(jù)訪問測試,框架測試,業(yè)務邏輯測試,服務測試以及View Model測試)。

      07_ReferenceLibs:項目相關的外部引用。

      08_Tools:一些簡單的工具,方便開發(fā),測試以及部署。

       

      各層執(zhí)行序列 (調(diào)用Service之前需要調(diào)用Service Adapter,然后根據(jù)項目配置來決定調(diào)用WCF Service,Web API Service 還是直接DLL引用):

      28-7-2014 12-34-29 AM

       

      權限系統(tǒng)設計 (支持多系統(tǒng),Module多層級,Group多層級,多用戶來源,功能權限,數(shù)據(jù)權限等):

      security

       

      權限系統(tǒng)數(shù)據(jù)庫關系圖(三個中心點:Users, Roles, Paths):

      image

       

      權限系統(tǒng)所有表(包括主要表以及備份表,主要是針對中小型項目,如果大型項目則要采用分庫,分表以及分區(qū)的策略):

      image

       

      數(shù)據(jù)庫項目——腳本注意事項以及如何一鍵執(zhí)行所有數(shù)據(jù)庫腳本(方便管理數(shù)據(jù)庫腳本并且對團隊開發(fā)以及分工協(xié)作幫助很大):

      image

       

      代碼生成器——T4完全生成數(shù)據(jù)庫,業(yè)務實體,業(yè)務層,服務層以及UI代碼 (之前也用Winform和WPF寫過代碼生成器,這是第一次使用T4生成整個項目,感覺非常好用,并且隨時修改隨時使用,而且還可以根據(jù)項目進行定制化)。

      image

      這篇文章主要是看圖說話,所以如果你有什么反饋,心得或者建議,不妨留言,我會盡力在今天或者明天進行回復。關于代碼分享或者開源的問題,由于目前是幫公司做的,所以還沒有時間和精力去抽取代碼,不過會根據(jù)反饋,然后在近期內(nèi)分享更多實現(xiàn)細節(jié)!

      如果您認為這篇文章還不錯或者有所收獲,不妨點擊一下右下角的(推薦)按鈕,因為你的支持是我繼續(xù)寫作,分享的最大的動力!

      主站蜘蛛池模板: 国产色悠悠视频在线观看| 国产精品污双胞胎在线观看| 好姑娘6电影在线观看| 中文字幕日韩精品亚洲一区| 人人做人人澡人人人爽| 久久精品国产福利一区二区 | 亚洲一区二区国产av| 涪陵区| 精品久久久无码中文字幕| 亚洲天堂男人天堂女人天堂| 成年无码av片在线蜜芽| 中文成人无字幕乱码精品区| 91九色国产成人久久精品| 欧美牲交a欧美牲交aⅴ一 | 女同久久一区二区三区| 静乐县| 熟女少妇精品一区二区| 国产国产久热这里只有精品| 亚洲一区精品视频在线| 日韩成人性视频在线观看| 国产精品青草久久久久福利99| 亚洲国产精品线观看不卡| 一本色道久久综合无码人妻| 国产在线一区二区不卡| 亚洲熟女精品一区二区| 国产欧美精品一区二区三区四区| 亚洲人成日韩中文字幕不卡 | 国产强奷在线播放免费| 亚洲精品男男一区二区| 亚洲一品道一区二区三区 | 国产影片AV级毛片特别刺激| 永久免费av网站可以直接看的| 浪潮av色综合久久天堂| 九九热精彩视频在线免费| 亚洲人成色99999在线观看| 国产精品色内内在线观看| 2019nv天堂香蕉在线观看| 国产极品粉嫩尤物一线天| 亚洲午夜无码久久久久蜜臀av | 江达县| 中文字幕一区二区人妻|