在我的应用程序中,我有一个名为MyObject
. 此类必须有一个代表目录的成员(对象将写入此目录)。
我应该为这个成员使用 aString
还是File
object?
使用一个File
对象。始终最好选择最能反映数据使用情况的对象类型。
顺便说一句,你永远不应该调用你的 object MyObject
。选择一个更有意义的名称来描述您的对象的用途。
我不认为这很重要。假设您无论如何都需要创建一个 File 对象,可能最干净的是有一个最终的 File 字段。
受评论启发的编辑:更重要的是,如果您有该成员的吸气剂,该吸气剂应该返回File
orString
或者甚至URL
or URI
?这会影响类的公共 API,应该认真考虑。并且在您需要之前不提供 getter 可能是最简单的(除非它是一个您需要“完成”的库),而是toString()
为了调试等目的而只提供有意义的覆盖。
文件很难测试。试试TDD——它会改进你的设计。我不知道任何文件抽象库,但也许你应该考虑寻找一个。或者至少尝试将您的业务代码与文件处理代码尽可能地分开