知識補缺
//用Func委托寫簡單函數
Func<int,int> add = i => i + 1;
//定義一個隻讀屬性
public class Tea {
public Tea(int id) => Id = id;
public int Id { get; }
}
高階函數
即HOF。 接受其他函數作為參數的函數,就是HOF。 js中的map, filter, sort其實都算。linq的where, orderby也是
盡量保持函數的純潔性
純潔的函數天然就是解耦的,而且利于測試。因為純潔的函數不依賴外部環境, 輸入一個值必然輸出對應結果。
一些建議
- 為了使函數更健壯,接受的參數可以是自定義類,且在類的内部進行資料檢查而不是外部
- 函數的簽名要寫清楚, 不能隻寫最理想的輸出