|
系列博客
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ì) —— 簡化條件表達(dá)式(Simplifying Conditional Expressions)
5. 改善代碼設(shè)計(jì) —— 簡化函數(shù)調(diào)用(Making Method Calls Simpler)
6. 改善代碼設(shè)計(jì) —— 處理概括關(guān)系(Dealing with Generalization)
1. Move Method (函數(shù)搬家)
解釋:
如果 ClassA 的某個(gè)函數(shù)對 ClassB 有過多的依賴, 可以考慮將這個(gè)函數(shù)搬到 ClassB 中, 在 ClassA 的這個(gè)函數(shù)中直接調(diào)用 ClassB中這個(gè)函數(shù)的返回值.
這樣做的好處是減少物件與物件之間的耦合度, 很多情況下這樣做更利于進(jìn)一步的重構(gòu).
沖動前:
class EmployeeSalary
{
private double baseSalary = 15000.0;
public double Salary(Employee employee)
{
return baseSalary + 10000 / employee.Level;
}
// other method with baseSalary
}
class Employee
{
public int Level { get; set; }
}
NET技術(shù):改善代碼設(shè)計(jì) —— 優(yōu)化物件之間的特性(Moving Features Between Objects),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。