Skillnaden mellan koppling och sammanhållning

Skillnaden mellan koppling och sammanhållning
Skillnaden mellan koppling och sammanhållning

Video: Skillnaden mellan koppling och sammanhållning

Video: Skillnaden mellan koppling och sammanhållning
Video: Cookie vs Session vs Local Storage vs Session Storage in Web Development 🔥🔥 2024, November
Anonim

Coupling vs Cohesion

Koppling och kohesion är två begrepp som finns i Java (och alla andra objektorienterade språk). Kopplingen mäter hur mycket var och en av programmodulerna är beroende av de andra programmodulerna. Kohesion mäter hur starkt var och en av funktionerna är relaterade inom en modul. Egentligen har alla objektorienterade språk (inklusive Java) de två huvudmålen att öka sammanhållningen och minska kopplingen samtidigt, för att utveckla de mest effektiva programmen. Dessa två programvarutekniska mätvärden utvecklades av Larry Constantine för att minska kostnaderna för att modifiera och underhålla programvara.

Vad är sammanhållning?

Cohesion mäter hur starkt var och en av funktionerna är relaterade inom en programmodul. Väl strukturerade klasser leder till mycket sammanhållna program. Om en viss klass utför en uppsättning mycket relaterade funktioner, sägs den klassen vara kohesiv. Å andra sidan, om en klass utför ett gäng helt orelaterade funktioner betyder det att klassen inte är sammanhängande alls. Det är viktigt att förstå att inte att ha sammanhållning inte betyder att den övergripande applikationen inte har den funktionalitet som krävs. Det är bara det att utan sammanhållning blir det väldigt svårt att hantera funktionaliteten eftersom de kommer att vara utspridda på många fel ställen när komplexiteten i applikationen ökar med tiden. Att underhålla, modifiera och utöka beteenden som är utspridda över hela koden är mycket tråkigt även för de mest erfarna programmerarna.

Vad är koppling?

Koppling mäter hur mycket var och en av programmodulerna är beroende av de andra programmodulerna. Interaktioner mellan två objekt uppstår eftersom det finns koppling. Löst kopplade program har hög flexibilitet och utbyggbarhet. Stark koppling är aldrig bra eftersom ett objekt kan vara starkt beroende av något annat objekt. Detta är en mardröm när koden modifieras, eftersom hög koppling innebär att programmerarna måste arbeta på flera kodplatser för ens en enda beteendemodifiering. Stark koppling leder alltid till program med låg flexibilitet och mindre skalbarhet/förlängbarhet. Men i programmeringsspråk som Java är det 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 en viss koppling för att hjälpa objekt att interagera med varandra utan att hindra dess skalbarhet och flexibilitet.

Vad är skillnaden mellan koppling och sammanhållning?

Även om koppling och sammanhållning handlar om kvaliteten på en modul inom mjukvaruteknik, är det helt olika koncept. Cohesion talar om hur mycket funktionaliteten är relaterade till varandra inom modulen, medan koppling handlar om hur mycket en modul är beroende av de andra programmodulerna inom hela applikationen. För att ha den bästa kvaliteten på programvaran bör sammanhållning och koppling nå de två motsatta ändarna av deras spektrum. Med andra ord, lös koppling och stark sammanhållning ger den bästa mjukvaran. Att ha privata fält, icke-offentliga klasser och privata metoder ger lös koppling, samtidigt som alla medlemmar är synliga inom klassen och att ha paket som standardsynlighet ger hög sammanhållning.

Rekommenderad: