3
看過很多不同的論壇帖子和示例項目後,人們似乎在相同類型的功能中選擇服務或實用程序。到目前爲止,我讀過的內容是人們認爲服務更好,因爲依賴注入會使測試更容易。還有人說utils更好,因爲它們更快。我想知道是否有任何類型的關於什麼時候使用服務和util的首選規則,爲什麼?Angular 2(ng2) - Service vs util,何時使用哪個?
這裏是從加載的數據提取表列的例子:
服務
export class TableService {
getColumns(data:Array<any>):Array<GridColumnInterface> {
let columns:Array<GridColumnInterface> = [];
data.forEach((column:any, index:number) => {
columns.push({
headerName: column.name,
field: String(index),
hide: column.isHidden,
class: 'text-center'
});
});
return columns;
}
}
的Util
export class TableUtil {
static getColumns(data:Array<any>):Array<GridColumnInterface> {
let columns:Array<GridColumnInterface> = [];
data.forEach((column:any, index:number) => {
columns.push({
headerName: column.name,
field: String(index),
hide: column.isHidden,
class: 'text-center'
});
});
return columns;
}
}
所以,你會選擇哪爲什麼?
該示例不是服務vs util,它是靜態方法vs實例方法。這兩個類都可以注射或不注射。如果你不知道如何使用和測試一個東西,DI是一個安全的選擇。 – estus