Data-drevet programmering

I edb-programmering, data-drevet programmering er et programmeringssprog paradigme, hvor programmet udsagn beskriver de data, der skal matches og den behandling, der kræves frem for at definere en sekvens af skridt der skal tages. Standard eksempler på data-drevne sprog er de tekstbaserede behandling sprog sed og AWK, hvor dataene er en sekvens af linjer i en input strøm - disse er derfor også kendt som line-orienterede sprog - og mønstertilpasning primært sker via regulære udtryk eller tal line.

Relaterede paradigmer

Datastyret programmering ligner event-driven programmering, idet begge er struktureret som mønster matching og deraf behandling, og er som regel gennemføres af en vigtigste loop, selvom de typisk anvendes på forskellige domæner. Betingelsen / action-modellen ligner også aspekt-orienteret programmering, hvor når en join punkt er nået, en pointcut henrettet. En lignende paradigme bruges i nogle tracing rammer såsom DTrace, hvor man lister sonder og tilhørende handlinger, der udfører, når betingelsen er opfyldt.

Tilpasning abstrakte datatype designmetoder til objektorienteret programmering resulterer i en data-drevet design. Denne type design er undertiden anvendes i objektorienteret programmering til at definere klasser i opfattelsen af ​​et stykke software.

Fordele og spørgsmål

Mens fordelene og spørgsmål kan variere mellem implementering, er der et par store potentielle fordele og spørgsmål af dette paradigme. Funktionalitet kræver blot, at den kender den abstrakte datatype af variablerne den arbejder med. Funktioner og grænseflader kan bruges på alle objekter med de samme datafelter, for "position" instans objektets. Data kan grupperes i genstande eller "enheder" efter præference med lidt at ingen konsekvens.

Mens datastyret design forhindrer kobling af data og funktionalitet, i nogle tilfælde, datastyret programmering er blevet fremført, at føre til en dårlig objektorienteret design, især når det drejer sig mere abstrakte data. Dette skyldes, at en rent datastyret objekt eller enhed er defineret ved den måde, det er repræsenteret. Ethvert forsøg på at ændre strukturen af ​​objektet vil straks bryde de funktioner, der er afhængige af det.

Som et eksempel kan man repræsentere kørselsvejledning som en række kryds, hvor føreren skal slå til højre eller venstre. Hvis et vejkryds er repræsenteret i data efter det postnummer og to gadenavne, kan fejl vises, når en by, hvor gader skærer flere gange er stødt på. Mens dette eksempel kan forsimplede, omstrukturering af data er ret almindeligt problem i softwareudvikling, enten at fjerne bugs, øge effektiviteten, eller understøtte nye funktioner. I disse tilfælde kan fremmes ansvar drevet design som en bedre tilgang, hvor funktionalitet og data kan kobles sammen, så fungerer ikke behøver at beskæftige sig med data repræsentation selv.

Data-drevne programmeringssprog

  • AWK
  • Oz
  • Perl - datastyret programmering i AWK og sed er en paradigme understøttes af Perl
  • sed
  0   0
Forrige artikel Barnett Stross
Næste artikel Descamisado

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha