2012-01-12 38 views

回答

5

這取決於該方法是否適用於類文件的所有元素。例如,lengthOfFirstLine不適用於二進制文件,因此它可能不屬於一般的File類,但如果你的類只代表文本文件,那麼它應該去那裏。

1

對於.NET語言,還可以選擇使用extension methods。這樣,您不必通過向其中添加助手/實用程序方法來「弄髒」類,也不需要繼承 - 只需向代碼中添加using語句即可爲類添加功能。

1

同意路易斯和萊斯特。如果你使用.Net,擴展方法是這種功能的一種方式。但是,如果您可以打開各種文件(如二進制文件),則應該不要將LengthOfFirstLine添加到基類中。你可以將它分類到一個FileClass並將該方法添加到該文件中。

請記住,.Net中的擴展方法無論如何都是語法糖。你可以用你自己的語言使用Static類和方法來模擬它。這就是.Net無論如何都要做的事情。

例如有一個靜態的FileHelpers類,它有各種靜態幫助器方法。每個這些靜態方法的第一個參數是File類。所以你可以使用FileHelpers.GetLengthOfFirstLine(myOpenedFile)

相關問題