相关疑难解决方法(0)

用状态/策略模式替换if/else逻辑

我已经阅读过以前的堆栈交换,用Java替换条件逻辑,例如带有状态/策略模式的IF/ELSE,但我不确定我的情况是否适合替换.以下是我看到的结果 - Java中的if语句的长列表以及将许多'if else'语句转换为更干净的方法

我本质上是在编写一个文件下载管理器,这些是我的IF/ELSE结构:

  1. 如果文件及其zip文件存在,则将zip文件移动到zip文件目录并读入文件
  2. 如果zip文件存在,则解压缩文件并将zip文件移动到zip文件目录并读入文件
  3. 如果zip文件不存在,则从指定的URL下载,然后解压缩并读入文件并将zip文件移动到指定的目录.
  4. 如果URL中不存在zip文件,则创建空白文件并将其写入磁盘.

基本上我理解你将这四个条件作为哈希映射中的键,然后值是需要发出的"命令".但是我相信你仍然需要一个If/Else来决定在作为输入给出的键上调用什么动作.所以我没有看到好处.有人可以解释一下吗?

java state if-statement strategy-pattern

7
推荐指数
1
解决办法
2645
查看次数

标签 统计

if-statement ×1

java ×1

state ×1

strategy-pattern ×1