Oop 如何设计用于管理文件路径的类?
在我的应用程序中,我生成了一些xml文件,例如:“/xml/product/123.xml”,其中123是产品的id,123.xml包含有关该产品的信息。我还有“/xml/customer/123.xml”,其中123.xml包含有关客户端的信息。。。123 如何管理这些文件路径:Oop 如何设计用于管理文件路径的类?,oop,Oop,在我的应用程序中,我生成了一些xml文件,例如:“/xml/product/123.xml”,其中123是产品的id,123.xml包含有关该产品的信息。我还有“/xml/customer/123.xml”,其中123.xml包含有关客户端的信息。。。123 如何管理这些文件路径: 我直接在序列化方法中创建文件路径 我创建了两个静态类:CustomerSerializationPathManager和ProductSerializationPathManager,其中有一个方法:getPath(
所以我想听听你的想法。。。thx如果需要将文件保存在特定文件夹中,并且这些文件的位置可能会更改,则应将此信息移动到配置文件中,然后在配置文件中使用If 然后创建一个类似于工厂的类,使用
getPathForProductExports
,getPathForCustomerExports
等读取配置文件以返回所需路径
配置文件可以是简单的.properties文件:
customer_path=/xml/customer/
product_path=/xml/product/
生成XML(无论是客户、产品还是其他)时,请将适当的路径(getPathForCustomerExports
,getPathForProductExports
)预先添加到文件名
如果以后更改位置,只需编辑配置文件。如果需要将文件保存在特定文件夹中,并且这些文件的位置可能会更改,则应将此信息移动到配置文件中,然后从那里使用If 然后创建一个类似于工厂的类,使用
getPathForProductExports
,getPathForCustomerExports
等读取配置文件以返回所需路径
配置文件可以是简单的.properties文件:
customer_path=/xml/customer/
product_path=/xml/product/
生成XML(无论是客户、产品还是其他)时,请将适当的路径(getPathForCustomerExports
,getPathForProductExports
)预先添加到文件名
如果以后更改位置,只需编辑配置文件。为什么在生成文件时需要管理文件路径?如果您指定原因,您将得到更好的答案。因为我将有关我的产品和客户的数据保存在xml文件中。。。我为什么这么做?因为我的网页设计师更喜欢用xslt来显示信息,所以你需要在特定的文件夹位置使用这些数据吗?您只想管理保存XML的位置?我只需要管理位置。为什么在生成文件时需要管理文件路径?如果您指定原因,您将得到更好的答案。因为我将有关我的产品和客户的数据保存在xml文件中。。。我为什么这么做?因为我的网页设计师更喜欢用xslt来显示信息,所以你需要在特定的文件夹位置使用这些数据吗?您只想管理保存xml的位置?我只需要管理该位置。此解决方案的唯一问题是,我在保存方法中会看到一个字符串“.xml”,因此我的保存方法仍将负责序列化和创建文件路径(即使它只是其中的一部分),但我可能错了。您没有错。我的回答是不完整的,因为它不能确保在类之间适当地分离关注点。解决办法是选择你的3号。将所有可能更改的数据放在配置文件中(这将允许您在不接触代码的情况下更改位置),然后,SerializationPathManager将封装对参数的所有访问,并仅公开两个方法:getCustomerPath(customerID)和getProductPath(productID)。ID进入,正确的路径退出,除了SerializationPathManager之外,没有人知道任何文件路径或扩展名。此解决方案的唯一问题是,我在保存方法中会看到字符串“.xml”,因此我的保存方法仍将负责序列化和创建文件路径(即使它只是其中的一部分),但我可能错了,你没有错。我的回答是不完整的,因为它不能确保在类之间适当地分离关注点。解决办法是选择你的3号。将所有可能更改的数据放在配置文件中(这将允许您在不接触代码的情况下更改位置),然后,SerializationPathManager将封装对参数的所有访问,并仅公开两个方法:getCustomerPath(customerID)和getProductPath(productID)。一个ID进入,正确的路径离开,除了SerializationPathManager,没有人知道任何文件路径或扩展名。