Cohesie en koppeling zowel maatregel de relatie tussen elementen van computersoftware . Cohesie meet hoe de componenten van een softwaremodule of een klasse van software objecten tot elkaar . Koppeling meet de verhouding tussen de afzonderlijke klassen en modules . Goede programmering verhoogt cohesie en vermindert de hoeveelheid koppeling . Cohesie Een klasse of module heeft een hoge cohesie als alle verantwoordelijkheden , data en methoden bevat nauw verwant zijn . Als een project - scheduling module bevat alleen methoden of functies met betrekking tot het plannen , het is hoog cohesieve , maar als het ook organogrammen en een klantendatabase , het is minder samenhangend . Om samenhang te meten, te berekenen het aantal gedeelde velden die methoden - subroutines - in een klasse hebben om toegang te krijgen en te vergelijken met het aantal niet-gerelateerde terreinen die zij gebruiken . Hoe groter het aantal gemeenschappelijke velden , hoe groter de samenhang Belang Als een module om meerdere activiteiten te behandelen - . Veiligheid , infrastructuur , netwerk- regels - wordt het moeilijker om mee te werken dan wanneer alles in de module is gericht op een enkel doel . Met een lage samenhang model , moet u wellicht meerdere ongerelateerde wijzigingen te maken, omdat elk deel heeft een andere fix of patch . Omgekeerd, als gerelateerde functies zijn onderverdeeld in verschillende bestanden in plaats van een enkele samenhangende bestanden , moet u wellicht herhaalde identieke wijzigingen aan elk bestand in plaats van een enkele oplossing om een enkel bestand te maken . koppeling Wanneer uw software ontwerp maakt gebruik van strakke koppeling tussen klassen of subsystemen , dat betekent dat ze met elkaar verbonden : Systeem A kan zijn werk niet uitvoeren zonder te weten details over wat Systeem B aan het doen is , en een veranderen naar B betekent A moet ook veranderen. Met losse koppeling , kunt u System Een meer gemakkelijk veranderen . Het is ook moeilijker om de code te studeren voor A als je het niet kan begrijpen zonder het analyseren van de code voor B en hun relatie . Efficiency Lage koppeling maakt codering meer efficiënt want je kunt meer code hergebruiken : Als Systeem A en systeem B zijn niet van elkaar afhankelijk , kunt u de code voor een van hen in een ander programma te kopiëren zonder moeite . Software die dubbele codering naar dubbele functies bevat is een ander teken van inefficiëntie . Je bent vaak beter af als je het programma herschrijven om dubbele functies te elimineren , dan is de functie om een eigen samenhangend module toewijzen . Hoe lager het niveau van koppeling , het makkelijker dergelijke ingrijpende veranderingen geworden .
|