bindning

  1. – i objektoriente­ring och annan programme­ring: mer eller mindre fast samband mellan olika komponenter i ett program. På engelska: coupling. Enkelt exempel: ett e‑postprogram hämtar e‑post­adresser från en digital adressbok. På något sätt måste e‑post­program­met kunna hitta adressboken. Sättet som e‑postprogrammet får den informa­tionen kallas för bindning. Man skiljer mellan:
    • tidig bindning eller statisk bindning och:
    • sen bindning eller dynamisk bindning;

    samt mellan:

    • lös bindning (låg bindning) och:
    • fast bindning (hög bindning).

    – Tidig (statisk) bindning (early eller static coupling) innebär att de två kompo­nent­erna (klasserna i objektoriente­rad programme­ring) knyts till varandra när pro­gram­met kompileras. Om kompo­nent A behöver en tjänst av en viss typ är det då bestämt en gång för alla att kompo­nent B ska tillhandahålla den typen av tjänst. Det gör pro­grammet snabbt, men omöjligt att ändra såvida man inte skriver om käll­koden och kompi­lerar om program­met. –  Sen (dynamisk) bindning (late eller dynamic binding) innebär att komponent­erna knyts till varandra först när program­met körs. Fördelen med det är att program­men kan göras om av använd­arna genom att komponent­erna kombi­neras på olika sätt. Det kräver ingen omkompile­ring. Nack­delen är att det tar längre tid. – Lös bindning (loose eller low coupling) och motsatsen, fast bindning (tight eller high coupling), syftar på hur noga komponent­erna är anpass­ade till varandra. Lös bindning innebär att komponenterna är utformade oberoende av varandra, inte för att passa bra ihop. Det ger hög flexi­bi­li­tet men till priset av sämre prestanda; – Fast bindning innebär att de är utform­ade för att passa så bra ihop som möjligt, men det betyder att de troligen inte passar så bra ihop med andra komponenter;

  2. – om databaser: samordning av innehållet i en eller flera databaser: Fast bindning av innehållet i en databas innebär att om samma informa­tion finns på flera ställen så ser man till att alla ändringar, tillägg och strykningar genomförs på alla förekomster av informationen. Det får inte finnas några motsägelser (se konsistens). Detta är det traditio­nella sättet att hantera data­baser och mest konsekvent genomfört i relationsdatabaser; – Lös bindning innebär att ändringar, tillägg och strykningar inte nödvändigt­vis genomförs på alla ställen där samma information finns. Databasen kan därför med tiden komma att inne­hålla motsägel­ser. Lös bindning är svårt att undvika i den typ av databaser som kallas för NoSQL, och som innehåller ostrukture­rad eller löst strukturerad information, till exempel löpande text.

[bindning] [programmering] [ändrad 13 oktober 2018]