丁香五月亚洲,日女人在线,太阳城色网,韩日AV在线秒放

詳解業(yè)務(wù)系統(tǒng)高內(nèi)聚,低耦合,值得收藏(簡述高內(nèi)聚低耦合的含義)

概述

今天跟領(lǐng)導(dǎo)交流時談了一下業(yè)務(wù)解耦的一些內(nèi)容,而其中就談到了為什么需要解耦?回答這個問題,我們必須得知道什么是解耦。相信大多數(shù)朋友都在軟件工程中聽過這樣一句話 —— “高內(nèi)聚,低耦合”。那么什么是 “高內(nèi)聚”,什么是 “低耦合”呢?下面區(qū)分介紹一下。


01

什么是內(nèi)聚

內(nèi)聚,從字面上來看有聚精會神、聚在一起的意思,那么 高內(nèi)聚也就是盡可能的使一個模塊或一個類再或者是一個方法只專注做好一件事。

在設(shè)計軟件的時候一定要采取【多聚合、少繼承】的基本原則,因為使用 “聚合” 的這種方式能夠使業(yè)務(wù)邏輯更加清晰,更有利于我們后期的擴(kuò)展和維護(hù)。

詳解業(yè)務(wù)系統(tǒng)高內(nèi)聚,低耦合,值得收藏(簡述高內(nèi)聚低耦合的含義)

例如訂單模塊,一般情況下,下單模塊都會有如下的信息,訂單的信息,產(chǎn)品的信息及誰下的單(買家信息)。這是基本的,那么設(shè)計的時候就要把相關(guān)的功能內(nèi)聚到一起。當(dāng)然這是從大功能(下單管理)上來說,當(dāng)然這些模塊還可以再細(xì)化分成產(chǎn)品、訂單、會員等子模塊。


02

耦合

耦合,從字面上來看有藕斷絲連的意思,“耦” 這個字在中國漢語里指的是兩個人在一起耕地,他倆各干各的互不影響,這也是“耦合”的由來。

那么 低耦合也就是盡可能的使每個模塊之間或者每個類之間再或者是每個方法之間的關(guān)聯(lián)關(guān)系減少,這樣可以使各自盡可能的獨(dú)立,一個地方出錯,不會影響全部,更能提高代碼的重用性。

詳解業(yè)務(wù)系統(tǒng)高內(nèi)聚,低耦合,值得收藏(簡述高內(nèi)聚低耦合的含義)

所以在設(shè)計軟件的時候也一定要注意各模塊之間一定盡可能的減少聯(lián)系,防止一個模塊出現(xiàn)的問題影響到其他模塊。

詳解業(yè)務(wù)系統(tǒng)高內(nèi)聚,低耦合,值得收藏(簡述高內(nèi)聚低耦合的含義)


03

使用高內(nèi)聚,低耦合的好處

1、生活中的 “高內(nèi)聚,低耦合”

軍隊的存在是為了保家衛(wèi)國,我們國家的軍隊分為海軍、陸軍、空軍等部隊,他們各自的職責(zé)是不一樣的。海軍負(fù)責(zé)海上作戰(zhàn),陸軍負(fù)責(zé)陸地作戰(zhàn),空軍負(fù)責(zé)空中作戰(zhàn),他們之間的聯(lián)系很少。

我們可以想想為什么要這樣安排呢?如果我們國家的軍隊不分的那么細(xì),每支部隊都有在海上、陸地、空中作戰(zhàn)的士兵,如果我們和日本在海上大戰(zhàn),我們還需要從各個部隊中抽取能夠在海上作戰(zhàn)的士兵,再組成一支海上抗日軍這樣的部隊,抽取出來的士兵的戰(zhàn)斗力各有不一,還需要一個適應(yīng)的過程,我們想想這支一盤散沙的部隊能取得勝利嘛?

打仗在于兵貴神速,這樣的一支部隊還是一盤散沙呢,怎么能做到兵貴神速呢?那么我們可以早早的就把他們分為海軍、陸軍、空軍,海軍就負(fù)責(zé)在海上作戰(zhàn),陸軍就負(fù)責(zé)在陸地作戰(zhàn),空軍就負(fù)責(zé)在空中作戰(zhàn),我們?nèi)绻腿毡具M(jìn)行海上大戰(zhàn),我們直接派海軍過去不就可以了嘛?

根據(jù)我們剛才的分析,證明了軍隊分為海軍、陸軍、空軍的好處,那么我們再想想,他們之間的聯(lián)系為什么會很少呢?咱們還是假設(shè)一下,如果每個部隊總是依賴其他幾個部隊,不會獨(dú)立戰(zhàn)斗,那么如果某一天海軍被派出去執(zhí)行任務(wù),美國這個時候空軍來襲,我們的空軍難道要等海軍回來再戰(zhàn)斗嘛?如果那樣的話為時晚矣。所以他們之間應(yīng)該獨(dú)立作戰(zhàn),互相依賴的情況應(yīng)該要減少。

這就是生活中的 “高內(nèi)聚,低耦合” 的例子。類似這樣的例子還有很多,只要我們留心觀察就能發(fā)現(xiàn)。

2、Java中的 “高內(nèi)聚,低耦合”

耦合放到Java里面就是兩個類之間的聯(lián)系的緊密程度,看下面這段代碼:

public class A { public void say() { System.out.println(\”I am A\”); }}public class B { public void put(A a) { a.say(); }}

從上面這個例子中我們可以看出來,A類 和 B類 之間存在一種很強(qiáng)的一個聯(lián)系,我們把這種聯(lián)系稱為強(qiáng)耦合關(guān)系,B類的 put方法 參數(shù)必須是 A類類型,不可以是 非A類類型。

當(dāng)然了,既然有強(qiáng)耦合關(guān)系當(dāng)然也存在所謂的弱耦合關(guān)系,弱耦合也就是我們俗說的低耦合。那么請看下面這段代碼:

public interface IBase { void say();}public class A implements IBase { @Override public void say() { System.out.println(\”I am A\”); }}public class B implements IBase { @Override public void say() { System.out.println(\”I am B\”); }}public class C { public void put(IBase base) { base.say(); }}

上面這段代碼中 C類 與 A類、B類之間就存在一種弱耦合關(guān)系,C類 的 put方法 的參數(shù)可以是 A類類型 也可以是 B類類型,不像強(qiáng)耦合關(guān)系中必須是 A類類型 其他類型皆不可的情形。

我們實現(xiàn)低耦合就是對兩類之間進(jìn)行解耦,解除類之間的直接關(guān)系,將直接關(guān)系轉(zhuǎn)換成間接關(guān)系,和上面代碼一樣,這種思想利用了多態(tài)的思想,不過一般情況都是使用接口的方式來實現(xiàn)解耦的。通常情況下我們在系統(tǒng)分離時只是以接口的方式提供服務(wù),供其他的模塊進(jìn)行使用。在模塊內(nèi)部有大量的信息是不要向外部暴露的,所以模塊在設(shè)計時訪問域的定義就要劃分好,防止因為訪問域的定義而對模塊的信息造成破壞。


“高內(nèi)聚,低耦合”,用一句話概括就是寫的代碼盡可能專一的完成一個任務(wù),且各段代碼盡量模塊化互相獨(dú)立??赡艽蠹矣X得這只是開發(fā)要懂的內(nèi)容,但如果運(yùn)維想深入的話這個也是繞不過去的,理解了才能更好的去設(shè)計一個系統(tǒng),保證系統(tǒng)高效穩(wěn)定。后面會分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注一下~

詳解業(yè)務(wù)系統(tǒng)高內(nèi)聚,低耦合,值得收藏(簡述高內(nèi)聚低耦合的含義)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年5月16日 下午3:09
下一篇 2024年5月16日 下午3:20

相關(guān)推薦

  • 科研申報項目報告怎么寫(科研項目申報中的一點心事)

    科研項目申報中的一點心事 在科研項目申報的過程中,每個人都可能會遇到一些心事。有些心事可能會讓人感到沮喪,有些心事則可能會讓人感到焦慮。但無論心事是怎么樣,我們都需要面對它們。 最…

    科研百科 2024年4月4日
    89
  • 進(jìn)度管理方案

    進(jìn)度管理方案 進(jìn)度管理是項目管理中非常重要的一個環(huán)節(jié),它能夠有效地控制項目的進(jìn)展,確保項目按時完成。以下是一個基本的進(jìn)度管理方案,希望能夠幫助項目管理人員更好地進(jìn)行進(jìn)度管理。 1….

    科研百科 2024年9月27日
    8
  • 學(xué)籍管理系統(tǒng)x項目

    學(xué)籍管理系統(tǒng)是學(xué)校管理中不可或缺的重要系統(tǒng)之一,能夠幫助學(xué)校實現(xiàn)對學(xué)生、教師、課程、成績等信息的管理和控制。在這個系統(tǒng)中,學(xué)校可以對學(xué)生的學(xué)習(xí)、課程、成績等信息進(jìn)行實時的管理和查詢…

    科研百科 2024年12月25日
    2
  • 工信部 科研項目

    工信部科研項目 隨著信息技術(shù)的不斷發(fā)展,工信部科研項目已經(jīng)成為了我國科技創(chuàng)新的重要力量。這些項目涉及多個領(lǐng)域,包括人工智能、云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)等,旨在推動我國信息技術(shù)的發(fā)展和應(yīng)…

    科研百科 2024年12月1日
    4
  • 練字必備字帖軟件,支持多種字體,隨意增減字體(練字必備字帖軟件,支持多種字體,隨意增減字體的軟件)

    這兩天粉絲練字的越來越多,咨詢字帖模板軟件有沒有,這兩天找了半天才找到一款符合大家需求的字帖軟件,并且免費(fèi),盡管軟件內(nèi)已經(jīng)包含了許多字體,但是需要個性的朋友就覺得不算太完美,現(xiàn)在把…

    科研百科 2023年3月23日
    325
  • 奧維怎么導(dǎo)入kml文件

    奧維怎么導(dǎo)入KML文件 KML(Keyhole Markup Language)是一種用于描述三維場景的XML格式,通常用于虛擬現(xiàn)實和增強(qiáng)現(xiàn)實應(yīng)用程序中。奧維(OpenVZ)是一個…

    科研百科 2024年10月7日
    88
  • 2025園林科研項目

    2025園林科研項目 隨著城市化進(jìn)程的加速,園林建設(shè)成為了城市可持續(xù)發(fā)展的重要組成部分。2025園林科研項目旨在探索園林建設(shè)的新方向,提高園林建設(shè)的質(zhì)量,為城市可持續(xù)發(fā)展做出貢獻(xiàn)。…

    科研百科 2025年2月22日
    2
  • 學(xué)習(xí)《中華人民共和國反恐怖主義法》(五)(中華人民共和國反恐怖主義法)

    《中華人民共和國反恐怖主義法》(節(jié)選) 第九章 法律責(zé)任 第七十九條 組織、策劃、準(zhǔn)備實施、實施恐怖活動,宣揚(yáng)恐怖主義,煽動實施恐怖活動,非法持有宣揚(yáng)恐怖主義的物品,強(qiáng)制他人在公共…

    2022年8月1日
    628
  • excel全自動財務(wù)合同管理系統(tǒng)

    Excel全自動財務(wù)合同管理系統(tǒng) 隨著現(xiàn)代財務(wù)管理的日益復(fù)雜化,財務(wù)合同管理已經(jīng)成為了企業(yè)日常運(yùn)營中不可或缺的一部分。傳統(tǒng)的手動財務(wù)合同管理方法已經(jīng)無法滿足現(xiàn)代企業(yè)的需求,因此,E…

    科研百科 2024年11月29日
    5
  • 高校導(dǎo)師科研項目包裝

    高校導(dǎo)師科研項目包裝 近年來,隨著科技的不斷發(fā)展,高校導(dǎo)師科研項目包裝已經(jīng)成為了一個非常熱門的領(lǐng)域。在包裝項目中,高校導(dǎo)師不僅需要考慮項目的實用性和創(chuàng)新性,還需要考慮到項目的市場前…

    科研百科 2025年3月6日
    4
久久久一区二区三区捆绑sm调教| 色大型综合网战| 变态无码av| 亚洲AV无码免费| 久久精品不卡中文字幕| 欧美曰韩精品一区二区三区| 亚洲国产一区二区三区最新| 花莲市| 激情精品网站| 久久半精品国产99精品国产| 久久久久国产精品三级| 国产女人久久精品| 婷婷五月综合基| 99免费人成视在线观看不卡 | 国产精品国产三级国产专播| 午夜精品一区| a级毛片免费观看完整| 国产毛片高清一级国语| 国产精品18禁| 无码一本二本| 夜夜夜夜大香蕉| 青草草A V| 日韩国产欧美娱乐| 最精品中文字幕亚洲日本| 亚洲有码欧美有码| 日韩欧美成人免费电影| AV 在线资源| 消息称老熟妇乱视频一区二区| 欧美色图久综合| 成人在线视频 日韩| 秋霞电影网久久久国产精品| 2019日韩中文字幕| 日韩精品福利电影网站| 日韩一级片久久久久久无码视频| 加勒比九九九免费视频| 国产AV人人夜夜澡人人爽小说| 国产激情久久思思热| 久久国产成人亚洲精品无码电影 | 亚洲天堂无码高清| 国产免费一区二区三区VR| 成人羞羞视频在线观看|