1. 程式人生 > >低耦合高內聚 - 不要把所有東西都放在 vuex中

低耦合高內聚 - 不要把所有東西都放在 vuex中

思考 不一定 我卻 管理 通過 依賴關系 技術 目的 例子

我就舉一個例子。比如,我想看電視,是否需要遙控器??請認真思考這個問題。

看似電視與“我”已經解耦了。然而,我需要通過遙控器去看電視,我的目的是看電視,但是我卻需要依賴遙控器這個中間件。這就變相地將“我”與電視的依賴關系,變成了我與遙控器的依賴關系。雖然“我”與電視解耦了,但是“我”與遙控器卻緊密聯系在一起。

那麽回到最初的問題,我的目的是看電視。我是否一定需要與電視解耦呢?答案是不一定!以此為基礎,你可能會發明一個人可以直接控制電視的技術。

那麽回顧歷史。在智能手機終端發明之前,有一個階段,人們使用觸摸筆去控制手機。這是一個什麽概念呢?“我”與手機之間的依賴變成“我”與“觸摸筆“之間的依賴。看似我與手機解耦了,但是”我“與”觸摸筆“之間卻高度耦合在一起。同樣,回到最初的目的,我是否需要與手機解耦呢?或者說我是否需要一個觸摸筆呢?歷史已經給出了答案,那就是多點觸控。

在vue 項目中,我發現有些人頻繁使用 vuex這個狀態管理中間件。確實,它將事件與數據之間互相解耦,使得業務邏輯變得清晰。但是某些情況下,如果一味地依賴 vuex,實際上會讓事情變得非常糟糕。就好像我想要打開電燈,但是我卻要打開(依賴)一系列的開關,明明一個響指就能解決的問題(如果裝了聲控的話)。

低耦合高內聚 - 不要把所有東西都放在 vuex中