【发布时间】:2017-02-25 09:47:15
【问题描述】:
我正在开发一个需要我重构文件上传功能的网络应用项目。我们的文件上传功能支持多种上传文件来源,如 git repo、nexus URL、zip 文件,我们还希望支持更多如将来执行。在当前的实现中,应用程序有多个端点来处理不同的方法,例如getNexusFile()、getGitFile()、getZipFile();在每种方法下,都有从指定来源检索文件的实现。
我的想法是使用 Strategy Pattern 将所有这些方法合并到一个名为 getUploadFile() 的方法中。与策略模式一样,
可以在运行时选择算法,因此在我指定正确的策略后,可以对从不同来源上传的文件进行冷漠处理。对于每个来源,我都会为其制定策略。
我的问题是:这是设计模式的良好实践吗?有没有更好的方法来模拟这个问题?
【问题讨论】:
标签: design-patterns file-upload factory-pattern strategy-pattern system-design