Kezdőoldal » Számítástechnika » Programozás » Mit ért ezalatt a tanárom?

Mit ért ezalatt a tanárom?

Figyelt kérdés

Van egy design pattern tárgy.

Abban ugye van a Solid elvek.

Abból az utolsó szerinte azt mondja, hogy absztrakcióra programozzak.

Ne implementációra.

Elmondta vagy ötször, de nem derül ki az se, mi pontosan az absztrakció?

Nekem így jött le, hogy a interface és az absztrakt osztályok.


Köszönöm, ha valaki tiszta vizet önt a pohárba.


dec. 27. 08:22
 1/6 anonim ***** válasza:
100%
Lényeg, hogy ha egy külső osztályt/típust vagy kénytelen felhasználni, akkor ne belülről hozd létre a szükséges konkrét implementációt, hanem egy jól körül határolható módon add át dependency injection
dec. 27. 11:07
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
segítségével konstruktoron/propertyn keresztül az absztrakcióját. Ez segíti tesztelésben a mockolást/fakelest, illetve ha más implementációt szeretnél használni, akkor elég csak egy központi helyen módosítani/regisztrálni.
dec. 27. 11:10
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
Az absztrakció pedig minden olyan, ami polimorfikusan képes viselkedni, pl ahogy mondtad az interface, abstract osztály, vagy akár a virtuális metódusok.
dec. 27. 11:13
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Tehát akkor mindent összevetve:

Először dolgoztam ki az interfacet, absztrakt osztály és utána a lenti részeket.

Mondjuk ez szerintem tök alap, ha következetesek akarunk lenni.

dec. 27. 11:45
 5/6 A kérdező kommentje:
Jah, meg hát nyilván így a fenti résztől függ a lenti is
dec. 27. 11:51
 6/6 anonim ***** válasza:

Akár, azaz van egy interface-ed, aminek több impl.-je is lehet. Az interface típusta ugye ezeket az impl.-kat példányosítani tudod.


Nah már most, ha egy dependency injection egy interface típust vár, ami ugye bármelyik impl.-t megkaphatja, a beállításodtól függően. Majd a fő kód ezen az interface-en keresztül hivogat.


Tehát, ha viselkedést akarsz változtatni, akkor nemes egyszerüséggel más impl.-ot adsz át, amik az interface miatt rendelkeznek ugyanazokkal a metódusokkal, amik meghívásra kerülnek.


Teszteléskor egy Mock-ot adsz át, vagy vmi custom-ot, akkor úgy fog viselkedni a programod.

dec. 28. 09:05
Hasznos számodra ez a válasz?

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!