【发布时间】:2013-11-04 13:27:15
【问题描述】:
我有一些与语言无关和设计模式相关的问题,尽管我正在使用 javascript/node.js 进行编程,如果这很重要的话。 对于一些有经验的程序员来说,这实际上非常简单,也许微不足道。
假设我们有一个函数/方法通过调用处理特定子问题的其他函数来执行某些过程(称为业务逻辑)。
function doProcess(){
subProcessA();
subProcessB();
subProcessC();
return "OK"
}
然后,我们得到任务来执行类似的流程,但这个新流程不能调用 subProcessA。 例如,我们有下一部分代码:
function doProcess2(){
subProcessB();
subProcessC();
return "OK"
}
所以我的问题是如何设计代码或者我应该:
A) 每次都为新流程创建新功能,就像上面的示例一样,但是我有很多冗余代码并且每次都重复自己。
B) 在这样的过程代码中做大 IF:
if(some-condition){
subProcessA()
}
但是我的代码看起来会很糟糕。
C) 直接在 subprocessA 中迁移该 IF :
if(!some-condition){
return // do nothing
}
但它又看起来像耦合代码,而且我觉得这不是最好的方法。
D) 别的?
【问题讨论】:
-
我会说这取决于您正在使用的具体代码。对于 JavaScript 来说更是如此,因为您可以用许多不同的方式完成几乎相同的任务。我知道这是一个非常笼统的答案。但是,您的描述是一种外观模式。
标签: node.js design-patterns theory