業務驗證**的框架結構
業務驗證處理委託:
public delegate function rulehandler(byval target as object, byval e as ruleargs) as boolean
target:要處理的資料物件
e:驗證規則引數,該引數將指導驗證方法的執行。該引數至少包含:target上需要驗證的資料項名稱,以及其它驗證條件
public class ruleargs
private mpropertyname as string
public readonly property propertyname() as string
getreturn mpropertyname
end get
end property
public sub new(byval propertyname as string)
mpropertyname = propertyname
end sub
end class
建立驗證規則管理器,驗證規則管理器通過「驗證名稱」來管理驗證規則(就要使用到hybriddictionary),對驗證的管理至少包含新增驗證,執行驗證。
public class rule**anage
'新增驗證規則,所有的驗證規則都由hybriddictionary來儲存
public sub addrule(byval handler as rulehandler, byval rulename as string, byval ruleargs as ruleargs)
'執行驗證,驗證的執行通過儲存在hybriddictionary中的rulehandler來完成,對target的處理由rulename來指導,而rulename和ruleargs對應,ruleargs中包含了驗證資料的名稱及其它驗證條件
public sub checkrules(byval target as object, byval rulename as string)
end sub
ES業務監控系統的設計
es告警有2個選擇 1 watcher 2 elastalert 工具早與watcher 這篇文章主要介紹elastalert elastalert是yelp公司開源的一套python2.6寫的報警框架 屬於後來elastic.co公司出品的watcher同類產品 any 只要有匹配就報警 blac...
設計模式簡記 設計符合設計原則的業務系統之需求分析
3.9.1 需求分析 積分系統 消費積分 通過產品的線框圖 使用者用例 user case 或者叫使用者故事 user story 來細化業務流程,挖掘一些比較細節的 不容易想到的功能點。通過以上方法總結最終功能需求 積分賺取和兌換規則 比如,簽到送 10 積分。再比如,按照訂單總金額的 10 兌換...
實現業務系統中的使用者許可權管理 設計篇
b s系統中的許可權比c s中的更顯的重要,c s系統因為具有特殊的客戶端,所以訪問使用者的許可權檢測可以通過客戶端實現或通過客戶端 伺服器檢測實現,而b s中,瀏覽器是每一臺計算機都已具備的,如果不建立一個完整的許可權檢測,那麼一個 非法使用者 很可能就能通過瀏覽器輕易訪問到b s系統中的所有功 ...
業務系統裡面常見的方法介面設計
在程式中用得最多的還是方法,在處理業務的系統中如何設計方法是一個很重要的問題。很多系統由於缺乏統一的約定而導致維護困難。本文主要介紹的是偶在平常的開發中總結出來的一些方法設計的思路。希望大家不嫌棄。1.簡單的方法 void dosth args 方法沒有返回值,也沒有特別的錯誤標示,一般用在一些不易...
業務系統裡面常見的方法介面設計
在程式中用得最多的還是方法,在處理業務的系統中如何設計方法是一個很重要的問題。很多系統由於缺乏統一的約定而導致維護困難。本文主要介紹的是偶在平常的開發中總結出來的一些方法設計的思路。希望大家不嫌棄。1.簡單的方法 void dosth args 方法沒有返回值,也沒有特別的錯誤標示,一般用在一些不易...