Skillnad mellan koppling och sammanhållning

Koppling mot sammanhållning

Koppling och sammanhållning är två begrepp som finns i Java (och alla andra objektorienterade språk). Koppling mäter hur mycket varje programmodul är beroende av övriga programmoduler. Sammanhållningen mäter hur starkt var och en av funktionerna är relaterade inom en modul. I själva verket har varje objektorienterat språk (inklusive Java) de två huvudmålen att öka kohesiviteten och minska kopplingen samtidigt för att utveckla mest effektiva program. Dessa två mjukvaruteknikmetoder har utvecklats av Larry Constantine för att minska kostnaderna för att modifiera och underhålla programvara.

Vad är sammanhållning?

Sammanhållningen mäter hur starkt var och en av funktionerna är relaterade inom en programmodul. Välstrukturerade klasser leder till mycket sammanhållna program. Om en viss klass utför en uppsättning högrelaterade funktioner, sägs den klassen vara sammanhängande. Å andra sidan, om en klass utför en massa helt orelaterade funktioner som betyder att klassen inte är sammanhängande alls. Det är viktigt att förstå att inte ha sammanhållning betyder inte att den övergripande applikationen inte har den nödvändiga funktionaliteten. Det är bara det utan sammanhållning, det kommer att vara mycket svårt att få funktionaliteten eftersom de kommer att spridas på många felaktiga platser eftersom applikationens komplexitet ökar över tiden. Att upprätthålla, ändra och utvidga beteenden spridda över hela koden är väldigt tråkigt även för de mest erfarna programmörerna.

Vad är koppling?

Koppling mäter hur mycket varje programmodul är beroende av övriga programmoduler. Interaktioner mellan två objekt uppstår på grund av koppling. Löstkopplade program har hög flexibilitet och utökningsbarhet. Stark koppling är aldrig bra eftersom ett objekt kan vara mycket beroende av något annat objekt. Det här är en mardröm när koden är modifierad, eftersom hög koppling innebär att programmerare måste arbeta på flera ställen för kod för att även ha en enda beteendemodifikation. Stark koppling leder alltid till program med låg flexibilitet och mindre skalbarhet / töjbarhet. Men i programmeringsspråk som Java är det helt omöjligt att helt undvika koppling. Men det rekommenderas att programmerarna gör sitt bästa för att minska kopplingen så mycket som möjligt. Det är också möjligt att ha någon koppling för att hjälpa objekt att interagera med varandra utan att hindra sin skalbarhet och flexibilitet.

Vad är skillnaden mellan koppling och sammanhållning?

Även om koppling och sammanhållning handlar om kvaliteten på en modul i mjukvaruutveckling, är de helt olika begrepp. Sammanhållningen talar om hur mycket funktionaliteten är relaterad till varandra inom modulen, medan koppling handlar om hur mycket en modul är beroende av de andra programmodulerna inom hela applikationen. För att få bästa möjliga mjukvaran bör sammanhållning och koppling nå de två motsatta ändarna av deras spektrum. Med andra ord ger lös koppling och stark sammanhållning den bästa mjukvaran. Med privata fält ger icke-offentliga klasser och privata metoder löskoppling, samtidigt som alla medlemmar syns synliga i klassen och har paket eftersom standardsynligheten ger hög sammanhållning.