耦合的3個標準:
規模:模組的連線數。越少越好。
可見性:連線的顯著程度。越明顯越好。
靈活性:模組之間的連線是否容易改變。
其實對於靈活性的理解會和引數傳遞中傳遞物件,還是物件中的成員有關聯。
按照靈活性來說傳遞的該是物件中的成員。
當然也不能一味的為了靈活性而只傳物件中的成員。
有時候你發現有一對資料總是會結對出現,比如說經緯度。那麼可以把這二個引數作為乙個物件來傳遞。
耦合種類:
簡單資料耦合:模組傳遞簡單資料
簡單物件耦合:傳遞簡單物件
物件引數耦合:乙個模組需要另乙個模組傳給它第三個模組。
語義耦合:
1.method(int type)
if(type=1)
}這就需要呼叫它的模組知道其內部細節。
2.method(objecta a)
然後我們在呼叫這個方法的時候只初始化了a的這二個成員。
(這個似乎又於靈活性那段有關。)
3.method(bascicobjeca a)
傳遞物件的是個介面或父類,在呼叫時我們向下轉型了。並且呼叫了特定方法。
python 引數傳遞 Python 引數傳遞
python中的變數 乙個變數是區域性還是全域性,在編譯函式的時候就已經決定,因此讀變數值的時候也不會逐層向外查詢。變數是全域性還是局域,根據如下3條 1.如果函式內部有global語句,那麼它宣告的變數是全域性的。2.如果函式內部有對變數的賦值語句,那麼它是局域的。3.除此之外都是全域性的。注意1...
python 引數傳遞 python引數傳遞
python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...
Python引數傳遞 引用傳遞 值傳遞
值傳遞 方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際引數的值。a1 520 a2 a1 print a1 520 print a2 520 a2 a1 1 print a2 521 print a1 520 引用傳遞 也稱位址傳遞,在方法呼叫時,實際上是把引...