高內(nèi)聚低耦合通俗理解 高內(nèi)聚低耦合是什么意思?
高內(nèi)聚低耦合是什么意思?高內(nèi)聚性是讓一個(gè)類或方法專注于一件事。低耦合:這需要較少的對(duì)象和類之間的耦合。更流行的是,例如,如果一個(gè)類的一個(gè)方法引用了許多其他類,而您是新的,那么它就會(huì)出現(xiàn)。修改類后,此方
高內(nèi)聚低耦合是什么意思?
高內(nèi)聚性是讓一個(gè)類或方法專注于一件事。低耦合:這需要較少的對(duì)象和類之間的耦合。更流行的是,例如,如果一個(gè)類的一個(gè)方法引用了許多其他類,而您是新的,那么它就會(huì)出現(xiàn)。修改類后,此方法將出現(xiàn)異常錯(cuò)誤。
什么是高耦合低內(nèi)聚?
高內(nèi)聚和低耦合是軟件工程中的一個(gè)概念。它是判斷一個(gè)設(shè)計(jì)好壞的標(biāo)準(zhǔn)。它主要是面向?qū)ο蟮脑O(shè)計(jì)。它主要取決于類的內(nèi)聚性是否高,耦合性是否低。目的是提高模塊的可重用性和可移植性。一般來說,程序結(jié)構(gòu)中每個(gè)模塊的內(nèi)聚度越高,模塊之間的耦合度就越低。銜接是從功能的角度來衡量模塊內(nèi)部的聯(lián)系。一個(gè)好的內(nèi)聚模塊應(yīng)該做一件事。它描述了模塊內(nèi)的功能關(guān)系;耦合是軟件結(jié)構(gòu)中模塊間互連的度量。耦合的強(qiáng)度取決于模塊間接口的復(fù)雜性、進(jìn)入或訪問模塊的點(diǎn)以及通過接口的數(shù)據(jù)。擴(kuò)展數(shù)據(jù)示例說明:例如,在訂單模塊中,訂單與庫(kù)存密切相關(guān)。如果沒有庫(kù)存,就不會(huì)有訂單,訂單在很大程度上依賴于庫(kù)存。如果直接在訂單模塊中寫入扣除庫(kù)存的邏輯,則訂單模塊和庫(kù)存模塊將耦合。另一方面,訂單模塊中扣除庫(kù)存的邏輯會(huì)導(dǎo)致訂單模塊的功能分散,功能不夠集中,從而形成低內(nèi)聚性。訂單中的庫(kù)存邏輯被劃分為一個(gè)獨(dú)立的庫(kù)存模塊。庫(kù)存模塊公開了扣除庫(kù)存的接口,訂單模塊調(diào)用該接口實(shí)現(xiàn)減少庫(kù)存的操作,減少了訂單邏輯與庫(kù)存邏輯的依賴,減少了訂單與庫(kù)存之間的耦合。同時(shí),訂單模塊只包含訂單處理邏輯,庫(kù)存系統(tǒng)只包含庫(kù)存處理邏輯。兩個(gè)系統(tǒng)的業(yè)務(wù)更具凝聚力
我是甲方的ERP程序員,公司剛推出ERP系統(tǒng)時(shí),大家都覺得上帝的存在太復(fù)雜了。
上線后,各種問題層出不窮,項(xiàng)目已通過驗(yàn)收。乙方一聽我們的問題,就會(huì)有兩個(gè)動(dòng)作:1)這個(gè)問題不在需求范圍內(nèi),需要付費(fèi)解決;2)這個(gè)問題這個(gè)版本沒有解決,下一個(gè)版本可以解決。
顯然,這是個(gè)小問題。為什么不能解決?核心原因:沒有源代碼,不知道從哪里開始。ERP歸根結(jié)底是對(duì)數(shù)據(jù)庫(kù)的添加、刪除和修改。直到我明白了這兩點(diǎn),ERP的“九字真言”終于越過了前三個(gè)字。(所謂ERP九字咒語是:先剛性,后固化,再優(yōu)化)。
我理解的兩點(diǎn)如下:1)真正理解ERP邏輯的人不是計(jì)算機(jī)工作者,而是業(yè)務(wù)骨干。ERP構(gòu)建了最常見、最核心的業(yè)務(wù)邏輯,體現(xiàn)在操作流程和功能接口上。只有業(yè)務(wù)骨干才能真正理解這種設(shè)計(jì)的必要性。
2)只要程序員與業(yè)務(wù)主干相結(jié)合,盡管沒有源代碼,但還是有辦法看到添加、刪除、修改和查詢的代碼是如何操作數(shù)據(jù)庫(kù)的。這是SQL事件探查器跟蹤程序。
兩者結(jié)合后,ERP維護(hù)將變得非常簡(jiǎn)單。畢竟,一個(gè)已經(jīng)上市幾十年的ERP產(chǎn)品具有很好的穩(wěn)定性和繼承性。那么,各種個(gè)性化報(bào)表的開發(fā)就非常簡(jiǎn)單了。
隨著對(duì)業(yè)務(wù)編程越來越熟悉,這個(gè)團(tuán)隊(duì)將對(duì)ERP產(chǎn)品有非常透徹的了解,終于有一天。乙方要求增加維修費(fèi),我們想了想,沒有,我們自己維修吧。然后,我們將ERP的生產(chǎn)功能分離,自行定制開發(fā),并逐步完善,越來越喜歡它。這是九字咒語的最后一個(gè)階段:優(yōu)化。
當(dāng)然,這一過程的實(shí)現(xiàn)得益于ERP產(chǎn)品開發(fā)平臺(tái)的支持和自身的開發(fā)邏輯。大型工廠(包括國(guó)外SAP)的ERP從財(cái)務(wù)模塊開始,再到供應(yīng)鏈,再到制造,再到商業(yè)智能。這決定了每個(gè)模塊是松散耦合的。在演化過程中,采用了多種接口方式,從硬寫數(shù)據(jù)庫(kù)到使用XML交換數(shù)據(jù),再到COM組件接口、API,甚至提出了整體開發(fā)平臺(tái),并用開發(fā)平臺(tái)重寫業(yè)務(wù)文檔。基本上,這些資料可以在網(wǎng)上找到。如果你參加幾次由大工廠組織的開發(fā)培訓(xùn),就更容易開始。