1. 程式人生 > >軟體設計原則——如果一那麼一丟擲 模式

軟體設計原則——如果一那麼一丟擲 模式

如果一那麼一丟擲 模式

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(); } }

廣泛使用“如果一那麼一丟擲”模式一般是為了驗證要執行的公共方法的前置條件。它與生成的輸出和不變條件無關。

若想更嚴格、更有效地控制整個類的行為,需要看契約式設計。契約式設計的程式設計理念是軟體的每個部分都有一個契約,正式地描述了它期望什麼以及提供什麼。“如果一那麼一丟擲”幾乎涵蓋了契約的第一部分,但完全缺少第二部分。