軟件設(shè)計(jì)低耦合高內(nèi)聚 什么是高耦合低內(nèi)聚?
什么是高耦合低內(nèi)聚?高內(nèi)聚低耦合是軟件工程中的一個(gè)概念。它是判斷一個(gè)設(shè)計(jì)好壞的標(biāo)準(zhǔn)。它主要是面向?qū)ο蟮脑O(shè)計(jì)。它主要取決于類(lèi)的內(nèi)聚性是否高,耦合性是否低。目的是提高模塊的可重用性和可移植性。一般來(lái)說(shuō),程
什么是高耦合低內(nèi)聚?
高內(nèi)聚低耦合是軟件工程中的一個(gè)概念。它是判斷一個(gè)設(shè)計(jì)好壞的標(biāo)準(zhǔn)。它主要是面向?qū)ο蟮脑O(shè)計(jì)。它主要取決于類(lèi)的內(nèi)聚性是否高,耦合性是否低。目的是提高模塊的可重用性和可移植性。一般來(lái)說(shuō),程序結(jié)構(gòu)中每個(gè)模塊的內(nèi)聚度越高,模塊之間的耦合度就越低。銜接是從功能的角度來(lái)衡量模塊內(nèi)部的聯(lián)系。一個(gè)好的內(nèi)聚模塊應(yīng)該做一件事。它描述了模塊內(nèi)的功能關(guān)系;耦合是軟件結(jié)構(gòu)中模塊間互連的度量。耦合的強(qiáng)度取決于模塊間接口的復(fù)雜性、進(jìn)入或訪問(wèn)模塊的點(diǎn)以及通過(guò)接口的數(shù)據(jù)。擴(kuò)展數(shù)據(jù)示例說(shuō)明:例如,在訂單模塊中,訂單與庫(kù)存密切相關(guān)。如果沒(méi)有庫(kù)存,就不會(huì)有訂單,訂單在很大程度上依賴(lài)于庫(kù)存。如果直接在訂單模塊中寫(xiě)入扣除庫(kù)存的邏輯,則訂單模塊和庫(kù)存模塊將耦合。另一方面,訂單模塊中扣除庫(kù)存的邏輯會(huì)導(dǎo)致訂單模塊的功能分散,功能不夠集中,從而形成低內(nèi)聚性。訂單中的庫(kù)存邏輯被劃分為一個(gè)獨(dú)立的庫(kù)存模塊。庫(kù)存模塊公開(kāi)了扣除庫(kù)存的接口,訂單模塊調(diào)用該接口實(shí)現(xiàn)減少庫(kù)存的操作,減少了訂單邏輯與庫(kù)存邏輯的依賴(lài),減少了訂單與庫(kù)存之間的耦合。同時(shí),訂單模塊只包含訂單處理邏輯,庫(kù)存系統(tǒng)只包含庫(kù)存處理邏輯。兩個(gè)系統(tǒng)的業(yè)務(wù)更具內(nèi)聚性
要實(shí)現(xiàn)高內(nèi)聚低耦合,關(guān)鍵不在于代碼編寫(xiě),而在于整個(gè)程序的設(shè)計(jì)階段。在編程時(shí),首先要列出要實(shí)現(xiàn)的功能,然后再進(jìn)行模塊設(shè)計(jì)。模塊設(shè)計(jì)完成后,代碼實(shí)現(xiàn)。為了實(shí)現(xiàn)高內(nèi)聚、低耦合,我們需要設(shè)計(jì)如下模塊:1。各模塊的功能必須明確。各模塊的功能不能交叉。模塊之間不允許相互調(diào)用。如果模塊之間必須發(fā)生調(diào)用,則只允許單向調(diào)用,即a可以調(diào)用B,B不能調(diào)用a,只要達(dá)到上述效果,就可以實(shí)現(xiàn)高內(nèi)聚、低耦合。在代碼實(shí)現(xiàn)的過(guò)程中,可能會(huì)增加一些額外的代碼復(fù)雜度,但是為了降低維護(hù)的難度,有必要這樣做。
c語(yǔ)言程序如何做到高內(nèi)聚低耦合?
感謝您的邀請(qǐng)
!作為IT行業(yè)從業(yè)者和計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的研究生,讓我回答這個(gè)問(wèn)題。
首先,程序員有不同的工作級(jí)別,不同職位的程序員將面臨不同的任務(wù)。因此,在評(píng)價(jià)一個(gè)程序員是否優(yōu)秀時(shí),應(yīng)該結(jié)合具體的工作任務(wù)。
對(duì)于研發(fā)級(jí)程序員,有三個(gè)評(píng)價(jià)標(biāo)準(zhǔn):一是創(chuàng)新能力是否強(qiáng);二是學(xué)習(xí)能力是否強(qiáng);三是溝通能力是否強(qiáng)。一個(gè)優(yōu)秀的研發(fā)級(jí)程序員通常需要有豐富的知識(shí)結(jié)構(gòu)和扎實(shí)的基礎(chǔ)學(xué)科,注重?cái)?shù)學(xué)和物理基礎(chǔ)。
另外,研發(fā)級(jí)程序員的培訓(xùn)需要相應(yīng)的研發(fā)環(huán)境。由于研發(fā)級(jí)程序員的職業(yè)生命周期長(zhǎng)、薪酬高,研發(fā)級(jí)程序員是很多程序員的發(fā)展方向。對(duì)于基礎(chǔ)知識(shí)結(jié)構(gòu)不完善的應(yīng)用級(jí)程序員來(lái)說(shuō),通過(guò)研究生教育完成崗位升級(jí)是一種普遍的選擇。
對(duì)于應(yīng)用級(jí)程序員,有三個(gè)評(píng)價(jià)標(biāo)準(zhǔn):一是工作效率是否高;二是代碼結(jié)構(gòu)是否良好;三是理解能力是否強(qiáng)。通常,應(yīng)用級(jí)程序員的任務(wù)都集中在具體業(yè)務(wù)邏輯的實(shí)現(xiàn)上,而且任務(wù)通常比較多,內(nèi)容也比較繁雜,因此應(yīng)用級(jí)程序員的工作壓力比較大。
一個(gè)優(yōu)秀的應(yīng)用級(jí)程序員通常也需要有豐富的知識(shí)結(jié)構(gòu),并通過(guò)大量的實(shí)際項(xiàng)目來(lái)鍛煉自己的開(kāi)發(fā)能力。開(kāi)發(fā)團(tuán)隊(duì)的整體氛圍對(duì)應(yīng)用程序級(jí)程序員的成長(zhǎng)有著重要的影響?!耙耘f換新”的培訓(xùn)模式可以使應(yīng)用級(jí)程序員快速成長(zhǎng)。根據(jù)歷史經(jīng)驗(yàn),優(yōu)秀的應(yīng)用級(jí)程序員通常能夠勝任許多不同的開(kāi)發(fā)角色。