Verskil tussen koppeling en kohesie

Verskil tussen koppeling en kohesie
Verskil tussen koppeling en kohesie

Video: Verskil tussen koppeling en kohesie

Video: Verskil tussen koppeling en kohesie
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Julie
Anonim

Koppeling vs Kohesie

Koppeling en kohesie is twee konsepte wat in Java (en alle ander objekgeoriënteerde tale) voorkom. Koppeling meet hoeveel elk van die programmodules van die ander programmodules afhanklik is. Kohesie meet hoe sterk elk van die funksies binne 'n module verband hou. Eintlik het enige objekgeoriënteerde taal (insluitend Java) die twee hoofdoelwitte om samehorigheid te verhoog en die koppeling terselfdertyd te verminder, ten einde mees doeltreffende programme te ontwikkel. Hierdie twee sagteware-ingenieursmaatstawwe is deur Larry Constantine ontwikkel om die koste van die wysiging en instandhouding van sagteware te verminder.

Wat is kohesie?

Kohesie meet hoe sterk elkeen van die funksies binne 'n programmodule verband hou. Goed gestruktureerde klasse lei tot hoogs samehangende programme. As 'n sekere klas 'n stel hoogs verwante funksies verrig, word gesê dat daardie klas samehangend is. Aan die ander kant, as 'n klas 'n klomp totaal onverwante funksies uitvoer, beteken dit dat die klas glad nie samehangend is nie. Dit is belangrik om te verstaan dat die gebrek aan samehang nie beteken dat die algehele toepassing nie die vereiste funksionaliteit het nie. Dit is net dat dit sonder samehang baie moeilik sal wees om die funksionaliteit te bestuur, want dit sal op baie verkeerde plekke versprei word namate die kompleksiteit van die toepassing mettertyd toeneem. Die instandhouding, wysiging en uitbreiding van gedrag wat oor die hele kode versprei is, is baie vervelig, selfs vir die mees ervare programmeerders.

Wat is koppeling?

Koppeling meet hoeveel elk van die programmodules van die ander programmodules afhanklik is. Interaksies tussen twee voorwerpe vind plaas omdat daar koppeling is. Los-gekoppelde programme is hoog in buigsaamheid en uitbreidbaarheid. Sterk koppeling is nooit goed nie, want een voorwerp kan hoogs afhanklik wees van 'n ander voorwerp. Dit is 'n nagmerrie wanneer die kode gewysig word, want hoë koppeling beteken dat die programmeerders op verskeie plekke van kode moet werk vir selfs 'n enkele gedragswysiging. Sterk koppeling lei altyd tot programme met lae buigsaamheid en minder skaalbaarheid/uitbreidbaarheid. In programmeertale soos Java is dit egter onmoontlik om koppeling heeltemal te vermy. Maar dit word aanbeveel dat die programmeerders hul bes doen om die koppeling so veel as moontlik te verminder. Dit is ook moontlik om 'n mate van koppeling te hê om voorwerpe te help om met mekaar te kommunikeer sonder om die skaalbaarheid en buigsaamheid daarvan te belemmer.

Wat is die verskil tussen Koppeling en Kohesie?

Al gaan koppeling en kohesie oor die kwaliteit van 'n module in sagteware-ingenieurswese, is dit heeltemal verskillende konsepte. Kohesie praat oor hoeveel die funksionaliteit binne die module met mekaar verband hou, terwyl koppeling handel oor hoeveel een module afhanklik is van die ander programmodules binne die hele toepassing. Om die beste kwaliteit sagteware te hê, moet kohesie en koppeling die twee teenoorgestelde kante van hul spektrum bereik. Met ander woorde, los koppeling en sterk kohesie verskaf die beste sagteware. Om privaat velde, nie-openbare klasse en private metodes te hê, bied loskoppeling, terwyl alle lede in die klas sigbaar word en pakket as die versteksigbaarheid bied hoë samehorigheid.

Aanbeveel: