扇入和扇出
原本是电子技术中电子元件及其输入端和输出端的结构。
一个模块调用其他模块的个数,称为该模块的扇出。扇出越大,设计该模块时需要考虑的问题就越多,因而复杂性越高。
为了控制模块的复杂性,一个模块的扇出不宜过大,一般认为不要超过7。如果发现某个模块的扇出较大(如图(a)),可以考虑重新分解(例如改为图(b)的方案)
一个模块被其他模块调用的个数,称为该模块的扇入。扇入大些,一般不会影响问题的复杂性,而且扇入越大,说明该模块的复用性越好。
软件工程中的扇入和扇出
类似上面定义
(A)扇入
扇入表示一个模块被多个模块调用。
(B)扇出
扇出表示一个模块调用多个模块。
注意不能为了获得高扇入而把不相关的东西凑成一个模块,这样的模块内聚程度很低,没有任何意义。
综上所述,我们在设计函数的时候,要设计高扇入合理扇出(3到4)的函数。通俗点就是设计可以被很多函数调用,而它本身调用3到4个下层函数的函数。
mongodb中的扇出读和扇出写
参考:
http://www.tuicool.com/articles/NZFZziN