高內聚 符合單一責任選擇,一個方法、一個模塊、或一個服務儘可能做一件事,並且可以最大化複用。
理解是,先做好自己再努力幫助別人。
低耦合 方法與方法之間,模塊模塊之間或服務與服務之間儘量不要相互影響。
理解是,自己不好不要緊,不要給別人帶來麻煩。
飯店舉例 也算服務
第一種情況
王開飯店主要做,李供貨雞肉,趙供貨魚肉,孫供貨蔬菜,朱供貨豬肉。結果豬肉漲價朱倒閉了。飯店王跟客人說,今天暫時沒豬肉了,我們家雞,魚都不錯要不要嚐嚐,客人說可以。
第二種情況
五個人共同開個飯館,王負責經營,李負責採購,趙負責收款,孫負責做菜,朱負責上菜。結果朱撂挑子不幹了,沒人上菜了。客戶扔地上了。意思就是有一個人不行了都會影響到其他人,因爲每個人之間都有依賴關係共同服務客戶。
總結
高內聚低耦合常表示軟件開發中,方法與方法,模塊與模塊,服務與服務之間的關係。高內聚追求複用,而低耦合追求避免因單點原因導致整個服務癱瘓。
所以需要架構師合理設計,因爲兩者本身是矛盾的。
文章最後發佈於: 2019-12-25