自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

看圖說話:架構(gòu)設(shè)計(jì)分享之權(quán)限系統(tǒng)

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

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

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

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

架構(gòu)設(shè)計(jì)圖:

image

部署及組件圖:

28-7-2014 12-27-11 AM

詳細(xì)解決方案:

image

01_Client:存放UI相關(guān)的項(xiàng)目,比如Winform, WPF,ASP.NET, Silverlight,ASP.NET MVC或者相關(guān)的Web Model及View Model項(xiàng)目。

02_Hosting:存放與Service相關(guān)的項(xiàng)目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。

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

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

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

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

07_ReferenceLibs:項(xiàng)目相關(guān)的外部引用。

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

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

28-7-2014 12-34-29 AM

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

security

權(quán)限系統(tǒng)數(shù)據(jù)庫關(guān)系圖(三個(gè)中心點(diǎn):Users, Roles, Paths):

image

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

image

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

image

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

image

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

本文來自:http://www.cnblogs.com/KnightsWarrior/p/ACL.html

責(zé)任編輯:林師授 來源: 圣殿騎士的博客
相關(guān)推薦

2016-05-09 09:26:06

架構(gòu)ios網(wǎng)絡(luò)層

2017-03-21 17:04:05

Android客戶端架構(gòu)設(shè)計(jì)

2023-07-02 06:47:42

LOFTER系統(tǒng)架構(gòu)

2010-05-14 10:05:37

至強(qiáng)7500刀片服務(wù)器

2014-05-19 10:08:36

IM系統(tǒng)架構(gòu)設(shè)計(jì)

2023-04-07 13:51:00

Midjourneyprompt工具

2023-08-16 12:34:16

同步備份異步備份

2020-11-22 08:10:05

架構(gòu)運(yùn)維技術(shù)

2009-01-15 09:43:51

Web架構(gòu)設(shè)計(jì)緩存

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2011-09-05 09:28:58

MySQLMongoDB

2015-06-02 04:17:44

架構(gòu)設(shè)計(jì)審架構(gòu)設(shè)計(jì)說明書

2021-10-25 09:06:29

模型人工智能計(jì)算

2020-10-18 18:02:32

AI機(jī)器學(xué)習(xí)微軟

2015-06-02 04:34:05

架構(gòu)設(shè)計(jì)

2009-06-22 14:48:21

DRY架構(gòu)設(shè)計(jì)

2012-05-30 09:43:45

業(yè)務(wù)邏輯層

2022-06-14 08:02:35

關(guān)系模型數(shù)據(jù)模型文檔模型

2024-09-18 09:04:33

架構(gòu)模式查詢

2023-04-13 08:23:28

軟件架構(gòu)設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)