gpt4 book ai didi

java - 我可以在JAVA中使用什么设计模式来满足这个需求

转载 作者:行者123 更新时间:2023-12-02 08:52:50 25 4
gpt4 key购买 nike

我的文件夹中有 3 种不同类型的文件。每个文件都有相同的数据,保存在员工表中。

文件类型:

  1. XML
  2. Excel
  3. .txt

我编写了 3 个独立的类,它们有两个方法,将 filePath 作为 String 参数并返回 EmployeeVO对象或 List<EmployeeVO> .

如果有的话我想删除这些。

List<EmployeeVO>  list ;
if(fileName.endsWith(".xml")){
list = XmlReader();
}else if(fileName.endsWith(".EXCEL")){
list = ExcelReader();
}else if(fileName.endsWith(".TXT")){
list = TxtReader();
}

最佳答案

我认为您可以使用Command模式在这里。它可用于替换繁琐的 switch/if block ,这些 block 在您添加新选项时往往会无限增长。

另一个选项可能是 Factory图案。您将 if/switch 包含在工厂中,该工厂负责处理丑陋并隐藏大量的 if。

当然可以将两者结合起来。这仅取决于您的偏好和使用它的环境。

顺便说一句:不要仅仅因为模式很奇特就使用它们,在您需要的地方使用它们。

关于java - 我可以在JAVA中使用什么设计模式来满足这个需求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com