軟體設計原則——如果一那麼一丟擲 模式
阿新 • • 發佈:2018-12-15
如果一那麼一丟擲 模式
if-else-throw 模式: 每個條件語句檢查一個用來驗證輸入值的不同條件。如果條件沒有通過驗證,程式碼就會丟擲異常。
使用這個模式對於建構函式來說特別重要,因為它保證物件的狀態是有效的。你不需要在私有方法裡使用這個模式,因為這些方法只能從類自身呼叫,通常也是同一個作者呼叫。
public class Match
{
public Macth(string id,string home)
{
if(string.IsNullOrWhitespace(id))
throw new ArgumentException();
if(string.IsNullOrWhitespace (home))
throw new ArgumentException();
}
}
廣泛使用“如果一那麼一丟擲”模式一般是為了驗證要執行的公共方法的前置條件。它與生成的輸出和不變條件無關。
若想更嚴格、更有效地控制整個類的行為,需要看契約式設計。
契約式設計的程式設計理念是軟體的每個部分都有一個契約,正式地描述了它期望什麼以及提供什麼。“如果一那麼一丟擲”幾乎涵蓋了契約的第一部分,但完全缺少第二部分。