|
系列博客
1. 改善代碼設(shè)計(jì) —— 優(yōu)化函數(shù)的構(gòu)成(Composing Methods)
2. 改善代碼設(shè)計(jì) —— 優(yōu)化物件之間的特性(Moving Features Between Objects)
3. 改善代碼設(shè)計(jì) —— 組織好你的數(shù)據(jù)(Composing Data)
4. 改善代碼設(shè)計(jì) —— 簡(jiǎn)化條件表達(dá)式(Simplifying Conditional Expressions)
5. 改善代碼設(shè)計(jì) —— 簡(jiǎn)化函數(shù)調(diào)用(Making Method Calls Simpler)
6. 改善代碼設(shè)計(jì) —— 處理概括關(guān)系(Dealing with Generalization)
1. Self Encapsulate Field (自封裝值域)
解釋:
大部分類(lèi) (class) 中都會(huì)有一些值域 (field), 隨之還會(huì)有一些方法使用到了這些值域. "如果調(diào)用這些值域"這個(gè)問(wèn)題分為兩種觀(guān)點(diǎn): 1. 應(yīng)該直接調(diào)用它們 2. 應(yīng)該通過(guò)訪(fǎng)問(wèn)函數(shù)調(diào)用它們.
我覺(jué)得大部分情況下直接調(diào)用比較方便, 過(guò)多的訪(fǎng)問(wèn)函數(shù)還會(huì)造成類(lèi)中的函數(shù)過(guò)多, 當(dāng)然將來(lái)如果我覺(jué)得直接調(diào)用帶來(lái)了一些問(wèn)題, 寫(xiě)一個(gè)一個(gè)的訪(fǎng)問(wèn)函數(shù)也并不是很困難.
下面的例子主要說(shuō)明如何給值域?qū)懸粋€(gè)訪(fǎng)問(wèn)函數(shù), 并通過(guò)訪(fǎng)問(wèn)函數(shù)調(diào)用值域的值.
沖動(dòng)前:
private string _userName, _password;
public bool IsValid()
{
bool isValid = !(String.IsNullOrEmpty(_userName) &&
String.IsNullOrEmpty(_password));
return isValid;
}
NET技術(shù):改善代碼設(shè)計(jì) —— 組織好你的數(shù)據(jù)(Composing Data),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。