09. januar 2004 - 20:58Der er
11 kommentarer og 1 løsning
Koblinger og Bindninger?
Hej...
Jeg er ved at lave en eksamens opgave fra sidste år. Jeg har i mine bøger ledt og ledt efter forklaring på koblinger og bindninger, men forgæves. Jeg syntes ikke at de giver et godt nok svar.
Er der nogen af jeg .NET programmører der kan komme med en god og grundig forklaring på hvordan de fungerer??
Jeg ved at det betyder at de forskellige moduler i et program skal være så uafhængig af hinanden som muligt, det vil sige en svag kobling. Jeg ved også at der findes flere forskellige slags koblinger og bindninger, men mangler ligesom noget mere......hmmmmm... :o)
Kobling/binding er generelle begreber i software udvikling uafhængigt af .NET og VB.NET - jeg mener ikke at .NET har noget specielt med kobling - der er noget med binding forskellige steder, men jeg formoder at du mener binding som synonym til kobling.
Ret mig, hvis jeg tager fejl.
Kobling/binding betyder at 2 stykker kode er meget afhængige af hinanden.
Hvis man ændrer i det ene så skal man også ændre i den anden.
Klassiske metoder til dekobling er: - definer et lille interface som offentligøres og indkapsel hele implementationen i det - GoF patterns - valg af standard baserede teknologier
Jeg kan do heller ikke finde noget specielt om dette emne i bøgerne. Men det er åbenbart en mulighed at blive spurgt om til eksamenerne.....Jeg har fundet frem til følgende:
• Svag kobling: o Modulerne i et program er ikke stærkt afhængig af hinanden. Det er nemmere at ændre, genbruge og/eller at uddelegere programmerings opgaver til flere personer.
• Data kobling: o Datakoblinger betyder at, modulerne kommunikerer ved hjælp af parametre.
• Kontrol kobling: o Kontrol koblinger betyder at, modulerne kommunikerer på samme måde som data koblinger, dog er der her mindst en kontrol og en status kode.
• Struktur kobling: o Struktur koblinger betyder at, modulerne kommunikerer på samme måde som de før nævnte koblinger, dog her med mindst en datastruktur.
• Fælles kobling: o Fælles koblinger betyder at, modulerne kommunikerer ved hjælp af fælles globale variabler.
• Indholds kobling: o Indholds koblinger betyder at, modulerne kommunikerer ved hjælp af referencer, til et andet moduls data i programmet.
• Stærk binding: o En stærk binding betyder at, modulerne kun har en funktion. Alle modul elementer bidrager til løsning af modulets funktion.
• Abstrakt binding: o En abstrakt binding betyder at der i modulet er en overordnet samling funktioner, der benytter og beskytter en fælles datastruktur eller hardware enhed. (Objektorienteret programmering)
• Funktionel binding: o En funktionel binding betyder at der netop er en problemrelateret funktion. Alle delelementer bidrager til udførelsen af modulets funktion.
• Sekventiel binding: o Sekventiel binding betyder at, der kan være mere end en problemrelateret funktion, men med modulkald og bestemt rækkefølge.
• Forgrenings binding: o Forgrenings binding betyder at, der kan være mere end en problemrelateret funktion, men uden modulkald og bestemt rækkefølge.
• Procedure binding: o Procedure binding betyder at, der kan være mere end en problemrelateret funktion, dog uden at være relateret til hinanden. Her er der dog stadig e kontrolleret rækkefølge.
• Tidsmæssig binding: o Tidsmæssig binding betyder at, der kan være mere end en problemrelateret funktion. Dog er denne udført på et tidsmæssig kontrolleret tidspunkt, i forhold til de andre moduler og i en ubestemt rækkefølge.
• Logisk binding: o Logisk binding betyder at, der kan være mere end en problemrelateret funktion, der ikke er relateret til hinanden, selvom de er i samme kategori. Her med modulkald, bestemt ved parameteroverførsel. Eksempelvis ved et fejlbehandlingsmodul.
• Tilfældig binding: o Tilfældig binding betyder at, der kan være mere end en funktion, dog ikke i samme kategori, uanvendelig i andre programmer.
De binding begreber som du opremser ovenfor går ikke så meget på om der er uønskede bindinger mellem forskellige komponenter (samme som kobling), men mere på om der er ønskede bindinger mellem delene i samme komponent - og om der derfor er lavet en fornuftig gruppering.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.