
【計】 control coupling
control; dominate; desist; grasp; hold; manage; master; predominate; rein
rule
【計】 C; control; controls; dominance; gated; gating; governing
【醫】 control; dirigation; encraty
【經】 check; command; control; controlling; cost control; dominantion
monitoring; regulate; rig
coupling
【計】 coupling
在軟件工程領域,"控制耦合"(Control Coupling)是指模塊之間通過傳遞控制信息(如标志、開關、命令或消息)來直接影響對方執行邏輯或流程的一種依賴關系。其核心在于一個模塊顯式地控制另一個模塊的内部決策或執行路徑。
漢英對照定義
mode=1
,模塊B依據 mode
值選擇不同處理分支。耦合強度分析
控制耦合屬于中等強度耦合(低于内容耦合,但高于數據耦合)。其風險在于:
函數調用控制
def process_data(data, operation_type):# operation_type 為控制參數
if operation_type == "ENCRYPT":
return encrypt(data)
elif operation_type == "COMPRESS":
return compress(data)
此處調用方通過 operation_type
控制 process_data
的執行分支,形成控制耦合。
系統狀态傳遞
模塊A檢測到錯誤後,向模塊B傳遞 error_flag=True
,觸發模塊B的異常處理流程。這種設計将錯誤處理邏輯強綁定于控制信號(來源:Sommerville, I.《軟件工程》第10版)。
重構為數據耦合
将控制邏輯内聚到單一模塊,例如用策略模式封裝不同操作:
interface DataProcessor { void process(Data data); }
class Encryptor implements DataProcessor { ... }
class Compressor implements DataProcessor { ... }
調用方隻需傳遞數據對象,無需控制處理邏輯(耦合強度降低)。
事件驅動解耦
通過發布/訂閱模型(如消息隊列)傳遞事件而非控制指令。模塊B訂閱特定事件(如 DataReceivedEvent
),自主決定響應行為,消除顯式控制依賴(來源:IEEE标準詞彙表 SEVOCAB)。
控制耦合是軟件工程中模塊間耦合的一種形式,指一個模塊通過傳遞控制信號(如标志、開關或邏輯判斷參數)直接影響另一個模塊的執行邏輯。其核心特征是模塊間的交互涉及流程控制,而非單純的數據傳遞。
控制信號傳遞
例如模塊A調用模塊B時傳遞參數isAdmin
,B根據該參數決定是否執行管理員權限操作()。
中等耦合強度
控制耦合的依賴性強于數據耦合(僅傳遞數據),但弱于内容耦合(直接修改對方内部數據)。
典型場景
函數通過布爾值、枚舉值或狀态碼控制被調用方的分支邏輯,如根據mode=0/1
切換計算方式。
例如,若模塊A調用模塊B時傳遞sortType=ASC
控制排序方式,B内部實現不同排序算法,即為控制耦合的典型表現()。
保護權标記功能别膽烷酸成形性心内膜炎帶棒按蚊二羟三十酸反同構性奸詐交易所會員解放救生帶絕食鬥争控制器地址窺視視鏡連續傳輸流動六氧雜環十八烷氯奎呂托氏三角醚麻醉耦合反射率确認輸入軀體感覺道熱帶腿尚鼠多頭縧蟲酞磺胺噻唑突出标志臀後線