Abstraktion er
ikke En form for selve software genanvendelighed, men det
muliggør genanvendelighed. Her er hvorfor:
* abstraktion:Fokus på det væsentlige
* Abstraktion handler om at forenkle komplekse systemer ved at skjule unødvendige detaljer. Du fokuserer på, hvad der betyder noget, ikke hvordan.
* Tænk på en bil:Du behøver ikke at vide, hvordan motoren fungerer for at køre den. Rattet, gaspedalen og bremserne er abstraktioner, der giver dig mulighed for at bruge bilen uden at forstå de komplicerede mekanismer under.
* genanvendelighed:Brug af kode igen og igen
* Genanvendelighed betyder at oprette kode, der kan bruges i flere projekter eller dele af det samme projekt. Biblioteker, rammer og moduler er eksempler på genanvendelige komponenter.
Hvordan abstraktion muliggør genanvendelighed
* Definition af grænseflader: Abstraktioner som grænseflader og abstrakte klasser definerer almindelig adfærd og egenskaber. Dette giver dig mulighed for at skrive kode, der fungerer med enhver implementering, der er i overensstemmelse med grænsefladen og fremmer genbrug af kode.
* skjul kompleksitet: Abstraktion skjuler implementeringsdetaljerne og lader dig fokusere på kernefunktionaliteten. Dette gør koden lettere at forstå og genbruge uden at skulle bekymre sig om specifikke implementeringer.
* Fremme af modularitet: Abstraktioner tilskynder til modulopbygget design og opdeler komplekse systemer i mindre, genanvendelige komponenter.
eksempel
Forestil dig, at du bygger et system, der skal sende meddelelser til brugerne.
* uden abstraktion: Du skriver muligvis separat meddelelseskode til e -mail, SMS og push -meddelelser, der fører til gentagelse og gør det vanskeligt at tilføje nye meddelelsesmetoder.
* med abstraktion: Du kan oprette en abstrakt 'anmeldelse' klasse med metoder som `send ()`. Specifikke implementeringer (e -mailnotificering, smsnotificering) ville arve fra denne klasse og give deres egen `send ()` metoder. Dette gør det muligt for din kode at arbejde med enhver meddelelsestype uden at skulle kende de specifikke implementeringsdetaljer.
Kort sagt er abstraktion som en plan. Det indstiller reglerne for, hvordan tingene skal fungere, så du kan opbygge genanvendelige komponenter, der passer sammen problemfrit.