簡體   English   中英

在類中使用方法

[英]Use methods in classes

我有兩節課。 例如,讓它們成為目錄和文件。 我有自己的自定義類,而不是.NET Framework的一部分。 因此,目錄具有標題字段和文件列表。 文件也有幾個字段。

我應該在哪里放置按目錄標題返回文件列表的方法,例如在Directory類或File類中?

即以下哪個更好:

public List<Files> Directory.GetFiles(string directoryTitle){...}
public List<Files> File.GetFilesByDirectory(string directoryTitle){...}

為什么呢?

兩個想法:

首先,它是知道列表文件的目錄,因此它應該存在。

其次,嘗試堅持返回類型的接口-IList而不是List。 這使您可以更靈活地返回不同種類的列表以及進行單元測試。

我先說比較

public List<Files> Directory.GetFiles(string directoryTitle){...} 

由於File本身不應該知道文件的位置,而Directory也不知道它包含哪些文件。

您實際放置它們的位置是您自己的特權,但是我想說在這種情況下使用第一個版本在語義上更合理: Directory.GetFiles NET框架實際上公開了一個Directory類,您可以將其用作示例,其中包含此類方法。

考慮到目錄實例已經包含一系列已知文件,以其他方式進行操作似乎也有悖常理。

我個人將這兩個類都留了下來,並創建了第3類來完成這項工作,從而最大程度地提高了代碼重用的機會。 將其稱為DirectoryFileFinder或類似名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM