可以說我有一個函數叫做do3() 爲了使這個函數起作用,我需要執行函數do1()和do2()。公共職能之間的耦合
然而,DO1()和D02()也需要爲其他的東西(也許是因爲DO4())
所有這些功能都是公共的(而且必須是公共的)。
問題,我應該如何實現代碼?
選項1:
function do3() {
do2()
do whatever is needed for do3
}
function do2() {
do1()
do whatever is needed for do2
}
function do1() {
do whatever is needed for do1
}
所以,如果我叫DO3(),我相信一切都會做,雖然偶會出現
選項2
function do3() {
do whatever is needed for do3
}
function do2() {
do whatever is needed for do2
}
function do2() {
do whatever is needed for do1
}
所以當我想打電話給do3()我必須
do1()
do2()
do3()
我覺得第二種方法更好,因爲它具有更少的耦合,但我無法真正解釋爲什麼,它更像是一種感覺。我認爲,如果我使用選項一,一天我更改do2()我可能有問題。
使用選項2但是我必須確保在每次我想使用do3時調用do1和do2。
如果有人有一個更好的主意(選項3?)將是偉大的。
謝謝
我認爲你可能會找到一本書([在線閱讀]](http://books.google.co.uk/books?id=9CL446IzhuAC&pg=PA38&lpg=PA38&dq=events+chapter+one+coupling&source=bl&ots= qmJTOuCz90與SIG = EZKvZBjF8QmGohatC97HsmAqG0c&HL = EN&EI = wj6tTqe5LcTX8gON_YyiCw&SA = X&OI = book_result和CT =結果&resnum = 6&VED = 0CEMQ6AEwBQ#v = onepage&q =事件%20chapter%20one%20coupling&F = FALSE)) 「基於事件的編程:服用事件到了極限 」 別拿面值的題目 - 第一章給出了一個有洞察力的描述和方法,以減少/轉移耦合到較少形式的耦合行爲。 –