使用类中的方法
本文关键字:方法 | 更新日期: 2023-09-27 18:15:34
我有两个类。让它们是目录和文件为例。有我自己的自定义类,不是。net框架的一部分。因此,目录有标题字段和文件列表。文件也有几个字段
我应该把按目录标题返回文件列表的方法放在哪里,例如:在目录类还是在文件类?
。以下哪个更好:
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
类,您可以使用它作为示例,其中包含这样一个方法。
我个人会放弃这两个类,并创建第三个类来完成工作,从而最大化代码重用的机会。叫它DirectoryFileFinder或类似的东西。