是否有可能在每行之前没有if (condition)
的情况下检查语句块的每一行的条件是否为真?在没有多个IF语句的每行代码之前检查条件?
例如:
if (condition)
{
DoSomething();
DoSomethingElse();
DoAnotherThing();
}
在一些点另一个后台进程可以DoSomethingElse()
之前设置condition
到假已经被执行。从本质上讲,我找话说的效率和更简便的方法:
if (condition) DoSomething();
if (condition) DoSomethingElse();
if (condition) DoAnotherThing();
在现实中它是一个代码块长,执行一次,我想如果在任何时候的特定标志改变放弃。
什么是收紧这种代码的最好办法。
多态性。创建表示实体DoSomething(),DoSomethingElse()和DoAnotherThing()的类。然后调用myclass1.doThing(); myclass2.doThing()和myclass3.doThing()。在这些方法中,重定向到检查条件的单个方法,然后运行相应的函数。 http://sourcemaking.com/refactoring/replace-conditional-with-polymorphism –
If,否则IF,否则If,否则...? – JsonStatham