我有两节课。例如,让它们成为目录和文件。我有自己的自定义类,而不是.NET Framework的一部分。 因此,Directory具有Title字段和文件列表。文件也有几个字段。
我应该在哪里放置按目录标题返回文件列表的方法,例如, 在Directory类或File类中?
即。哪一个更好:
public List<Files> Directory.GetFiles(string directoryTitle){...}
public List<Files> File.GetFilesByDirectory(string directoryTitle){...}
为什么?
答案 0 :(得分:4)
两个想法:
首先,它是知道列出文件的目录,因此它应该存在。
其次,尝试坚持返回类型的接口 - IList而不是List。这使您可以更灵活地返回不同类型的列表和单元测试。
答案 1 :(得分:0)
我首先要说的是更好
public List<Files> Directory.GetFiles(string directoryTitle){...}
由于文件本身不应该知道它所在的位置,并且目录知道它包含哪些文件。
答案 2 :(得分:0)
你实际放置它们的地方是你自己的特权,但我要说在这个实例中使用第一个版本更加语义合理:Directory.GetFiles
。 .NET框架实际上公开了一个Directory
类,您可以将其用作此示例,包含此类方法。
考虑到目录实例已经包含已知文件列表,除了其他方式之外,这似乎也是反直觉的做法。
答案 3 :(得分:0)
我个人会单独留下这两个类,并创建第三个类来完成最大化代码重用机会的工作。称之为DirectoryFileFinder或类似的东西。