bindning

  1. – i objektoriente­ring och annan programme­ring: mer eller mindre fast samband mellan olika kompo­nenter i ett program. Enkelt exempel: ett e‑post­program hämtar e‑post­adresser från en digital adress­bok. På något sätt måste e‑post­program­met kunna hitta adress­boken. Sättet som e‑post­program­met 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 objekt­oriente­rad programme­ring) knyts till varandra när pro­gram­met kompi­leras. 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 till­handa­hå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 komponent­erna är utformade obero­ende 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 kompo­nenter;

  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 stryk­ningar genomförs på alla före­komster av informa­tionen. Det får inte finnas några motsägel­ser (se konsi­stens). Detta är det traditio­nella sättet att hantera data­baser och mest konse­kvent genomfört i rela­tions­data­baser;– – Lös bindning innebär att ändringar, tillägg och stryk­ningar inte nödvändigt­vis genomförs på alla ställen där samma informa­tion 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 data­baser som kallas för NoSQL, och som innehåller ostruktu­re­rad eller löst struktu­rerad informa­tion, till exempel löpande text.