基本介紹
- 中文名:橫切關注點
- 性質:特殊關注點
- 內容:橫切關係
- 領域:計算機
簡介,背景,模組,面向切面的程式設計,
簡介
在‘面向切面’軟體開發中,橫切關係是程式中和其他模組有聯繫的‘切面’。這些關係在程式模組化的設計和實現中無法被自然得分解到模組中,導致或代碼過於分散,或代碼衝突,或者兩者都有。
舉個例子來說,編寫一個處理醫生記錄的app,這些記錄的索引是核心模組,同時關於存儲記錄或用戶信息的數據的歷史日誌,或者登錄的驗證系統,由於和app中大部分模組都有關係所以成為了‘橫切關係’。
背景
橫切關係是那些和程式中大部分模組都有聯繫的部分,它們形成了切面開發的基礎單元。這樣的橫切關係部分不能自然得適配面向對象編程理念和面向過程變成理念。
程式內那些衝突或者內部依賴過度一般都和橫切關係有直接聯繫,由於過程性和功能性程式語言的結構完全是步驟化調用,也就沒有語法可以同時進行功能實現和橫切關係處理,這樣一來,解決橫切關係的代碼就在程式中分散或者重複執行,最終導致了程式模組化的喪失。
AOP(面向切面編程)的目的是將這些橫切關係封裝進切面來保持程式的模組化,也就可以保持自然得模組獨立性和處理橫切關係代碼的可復用性。通過這些對橫切關係的設計處理,作為對於面向對象編程的一個補充,軟體工程的模組化和維護簡單化的優勢仍然可以保持。
模組
現代軟體開發往往利用模組作合成的單位。
模組的接口表達了由該模組提供的功能和調用它時所需的元素。
模組是可能分開地被編寫的單位。這使他們可再用和允許廣泛人員同時協作、編寫及研究不同的模組。