1、解耦,字面意思就是解除耦合關係。
2、在軟體工程中,降低耦合度即可以理解為解耦,模組間有依賴關係必然存在耦合,理論上的絕對零耦合是做不到的,但可以透過一些現有的方法將耦合度降至最低。
3、設計的核心思想:儘可能減少程式碼耦合,如果發現程式碼耦合,就要採取解耦技術。讓資料模型,業務邏輯和檢視顯示三層之間彼此降低耦合,把關聯依賴降到最低,而不至於牽一髮而動全身。原則就是A功能的程式碼不要寫在B的功能程式碼中,如果兩者之間需要互動,可以透過介面,透過訊息,甚至可以引入框架,但總之就是不要直接交叉寫。
4、觀察者模式:觀察者模式存在的意義就是「解耦」,它使觀察者和被觀察者的邏輯不再攪在一起,而是彼此獨立、互不依賴。比如網易新聞的夜間模式,當用戶切換成夜間模式之後,被觀察者會通知所有的觀察者「設定改變了,大家快蒙上遮罩吧」。QQ訊息推送來了之後,既要在通知欄上彈個推送,又要在桌面上標個小紅點,也是觀察者與被觀察者的巧妙配合。
1、解耦,字面意思就是解除耦合關係。
2、在軟體工程中,降低耦合度即可以理解為解耦,模組間有依賴關係必然存在耦合,理論上的絕對零耦合是做不到的,但可以透過一些現有的方法將耦合度降至最低。
3、設計的核心思想:儘可能減少程式碼耦合,如果發現程式碼耦合,就要採取解耦技術。讓資料模型,業務邏輯和檢視顯示三層之間彼此降低耦合,把關聯依賴降到最低,而不至於牽一髮而動全身。原則就是A功能的程式碼不要寫在B的功能程式碼中,如果兩者之間需要互動,可以透過介面,透過訊息,甚至可以引入框架,但總之就是不要直接交叉寫。
4、觀察者模式:觀察者模式存在的意義就是「解耦」,它使觀察者和被觀察者的邏輯不再攪在一起,而是彼此獨立、互不依賴。比如網易新聞的夜間模式,當用戶切換成夜間模式之後,被觀察者會通知所有的觀察者「設定改變了,大家快蒙上遮罩吧」。QQ訊息推送來了之後,既要在通知欄上彈個推送,又要在桌面上標個小紅點,也是觀察者與被觀察者的巧妙配合。