相关疑难解决方法(0)

避免if语句

我今天正在考虑面向对象的设计,我想知道你是否应该避免if语句.我的想法是,在任何需要if语句的情况下,您只需创建两个实现相同方法的对象.这两个方法实现只是原始if语句的两个可能的分支.

我意识到这似乎是极端的,但似乎你可以尝试在某种程度上争论它.有什么想法吗?

编辑

哇,没多久.我想这太极端了.是否有可能说,在OOP下你应该期望更少的陈述?

第二次编辑

那么:一个根据其属性确定方法实现的对象.也就是说,您可以someMethod()通过两种方式实现并指定一些限制.在任何时候,对象都将根据其属性路由到正确的方法实现.所以在if(x > 5)只有两个依赖x属性的方法的情况下

oop if-statement

39
推荐指数
7
解决办法
3万
查看次数

替换"切换"声明

我不想在我的代码中使用Switch,所以我正在寻找一些替代方案

Switch的示例:

function write(what) {

  switch(what) {

    case 'Blue':
      alert ('Blue');
    break;

    ...

    case 'Red':
      alert ('Red');
    break;

  }

}
Run Code Online (Sandbox Code Playgroud)

没有Switch的示例:

colors = [];

colors['Blue'] = function() { alert('Blue'); };
colors['Red'] = function() { alert('Red'); };


function write(what) {

  colors[what]();

}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 你还知道其他选择吗?
  2. 这是最佳解决方案吗?

javascript switch-statement

19
推荐指数
2
解决办法
7253
查看次数

标签 统计

if-statement ×1

javascript ×1

oop ×1

switch-statement ×1