iT邦幫忙

0

dependency injection service or model method

deh 2021-04-01 11:23:47651 瀏覽

各位前輩好:
目前用到Epplus產出excel,會用下方的method添加邊框

private void ExcelRangeSetBorder(ExcelRange excelRange)
{
    excelRange.Style.Border.Top.Style = ExcelBorderStyle.Thin;
    excelRange.Style.Border.Left.Style = ExcelBorderStyle.Thin;
    excelRange.Style.Border.Right.Style = ExcelBorderStyle.Thin;
    excelRange.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
        }

由於會用到ExcelRangeSetBorder的地方不只一個cs,想把它抽出來共用
一開始直覺就加一個Service然後DI
但想想要是做一個Model,要用的時候new,也可以用他的Method
或者直接用個static method,連new都不用了

我知道直接用static會一直站著記憶體
不過DI估計會用AddSingleton,也一樣是一直站著記憶體吧?

不用static每次new的話,感覺也跟AddTransient差不多......

有什麼不同嗎?

如果以資源占用量來看,兩者應該差不多
且如果類別內只有這個方法的話
那占用的記憶體幾乎是微乎其微

static 比較怕的是很多的靜態欄位
靜態方法的話不太需要擔心

結論的話選一個喜歡的即可
deh iT邦研究生 1 級 ‧ 2021-04-01 13:23:51 檢舉
感謝回覆
我要想想DI到底是做什麼了.....
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答