优雅摆脱冗长if-else:轻量级策略模式在Java中的简明实践
当处理日常工作中频繁出现的if-else逻辑时,过多嵌套的条件语句会使代码难以阅读。虽然策略模式是消除if语句的一种有效方式,但其实现方式通常较为繁琐。在这里提供了一种轻量级的替代方案:通过使用Map数据结构实现策略模式,从而简化代码,减少if语句的使用 下面直接上代码。分别使用if与策略模式代码: import com.google.common.collect.ImmutableMap; import lombok. AllArgsConstructor ; import lombok. Data ; import java.util.function.Function; /** * 宠物回家 * 使用 if-else 逻辑和轻量级策略模式(基于 MAP 数据结构)的比较。 * <p> * * @author James Smith */ public class StrategyPatternDemo { public static void main (String[] args) { Pet cat = new Pet( 1 , " 汤姆猫 " ); Pet hamster = new Pet( 2 , " 杰瑞仓鼠 " ); Pet bird = new Pet( 3 , " 杰克鸟 " ); new StrategyPatternDemo().goHomeWithStrategyPattern(cat); // 返回 " 汤姆猫回家 " new StrategyPatternDemo().goHomeWithIfElse(cat); // 返回 " 汤姆猫回家 " } /** * 使用 if-else 逻辑确定宠物如何回家。 */ private void goHomeWithIfElse (Pet pet) { if (pet.getType () == 1 ) { System. out .println(pet.getName () + " ...