概念
大量的 if 判断操作,逻辑比较复杂,并且处理起来相对麻烦。可以采用策略模式来优化分支代码。
策略模式 💤:是一种行为设计模式,它允许你在运行时根据不同情况选择不同的算法或行为。
设计模式 🤌:就是提前第一次了解全过程,第二次直接规划不必要的坑。
我们在写代码亦是如此,一定也遇到过许多类似的场景。随着程序员经验的增加,我们对于这些常见场景的处理越来越得心应手,甚至总结出了针对性的“套路”,下次遇到此类问题直接运用“套路”解决,省心又省力。这些在软件开发过程中逐渐积累下来的“套路”就是设计模式。
设计模式的目标之一就是提高代码的可复用性、可扩展性和可维护性。
例:
const game = (name) => {
if (name === "原s") {
console.log("启动!");
} else if (name === "xx精英") {
console.log("我先成盒了你们加油!");
} else if (name === "云顶yy") {
console.log("这就是我们之间的羁绊!");
} else if (name === "王者zz") {
console.log("我再也不买皮肤了!");
} else {
console.log("我啥也没玩");
}
};
game("原s"); // 启动!
简单优化一下写法:
const game = (name) => {
let obj = {
原s: "启动!",
xx精英: "我先成盒了你们加油!",
云顶yy: "这就是我们之间的羁绊!",
王者zz: "我再也不买皮肤了!",
};
if (obj[name]) {
console.log(obj[name]);
} else {
console.log("我啥也没玩");
}
};
game("原s"); // 启动!
这种写法只是参考了策略模式的思路,将逻辑封装到一个对象中。这种方式使得这个对象能够独立出来,只需专注于维护这个对象本身即可。如果要是每个方法都不同,那该如何去写呢?接着往下看
const game = (name) => {
let obj = {
原s: () => {
console.log("启动!");
},
xx精英: () => {
console.log("我先成盒了你们加油!");
},
云顶yy: () => {
console.log("这就是我们之间的羁绊!");
},
王者zz: () => {
console.log("我再也不买皮肤了!");</

本文讲述了如何利用策略模式简化if语句,提升代码结构,增强代码可维护性和复用性,举例说明了从基本优化到高级应用的过程。
最低0.47元/天 解锁文章
5011

被折叠的 条评论
为什么被折叠?



