Abstraksjon er
ikke En form for programvare -gjenbrukbarhet i seg selv, men den
aktiverer gjenbrukbarhet. Her er grunnen:
* Abstraksjon:Fokus på det essensielle
* Abstraksjon handler om å forenkle komplekse systemer ved å skjule unødvendige detaljer. Du fokuserer på det som betyr noe, ikke hvordan.
* Tenk på en bil:Du trenger ikke å vite hvordan motoren fungerer for å kjøre den. Rattet, gasspedalen og bremsene er abstraksjoner som lar deg bruke bilen uten å forstå de intrikate mekanismene under.
* gjenbrukbarhet:Bruke kode igjen og igjen
* Gjenbrukbarhet betyr å lage kode som kan brukes i flere prosjekter eller deler av det samme prosjektet. Biblioteker, rammer og moduler er eksempler på gjenbrukbare komponenter.
hvordan abstraksjon muliggjør gjenbrukbarhet
* Definere grensesnitt: Abstraksjoner som grensesnitt og abstrakte klasser definerer vanlig atferd og egenskaper. Dette lar deg skrive kode som fungerer med enhver implementering som samsvarer med grensesnittet og fremmer gjenbruk av kode.
* skjul kompleksitet: Abstraksjon skjuler implementeringsdetaljene, og lar deg fokusere på kjernefunksjonaliteten. Dette gjør koden lettere å forstå og gjenbruke uten å måtte bekymre deg for spesifikke implementeringer.
* fremme modularitet: Abstraksjoner oppmuntrer til modulær design, og deler ned komplekse systemer i mindre, gjenbrukbare komponenter.
eksempel
Se for deg at du bygger et system som må sende varsler til brukere.
* Uten abstraksjon: Du kan skrive separat varslingskode for e -post, SMS og pushvarsler, noe som fører til repetisjon og gjør det vanskelig å legge til nye varslingsmetoder.
* med abstraksjon: Du kan opprette en abstrakt `Notification` -klasse med metoder som` send () `. Spesifikke implementeringer (e -postnotifisering, SMSNotification) ville arve fra denne klassen og gi sine egne `send ()` metoder. Dette gjør at koden din kan fungere med en hvilken som helst varslingstype uten å måtte vite de spesifikke implementeringsdetaljene.
Kort sagt, abstraksjon er som en blåkopi. Den setter reglene for hvordan ting skal fungere, slik at du kan bygge gjenbrukbare komponenter som passer sammen sømløst.