Miért van szükség egy-egy interfész java

Mikor húzódik módszerek nem írhatja felül, és ha szükséges, munkagépek módszerekkel szeretné felülírni, akkor miért ezek felülírják, ha ez lehetséges, hogy egy közvetlen módszer a megfelelő osztályok. Egyszerűen, nem egészen értem, hogyan lehet API) valószínűleg csak berohant a problémákat, hogy megoldódnak absztrakt osztályok és interfészek)

Mikor húzódik módszerek nem írhatja felül - csak akkor, ha örökölt egy adott osztály (azaz ha van valahol az egyszer meghatározott)! Ha azonban abból az absztrakt osztály, akár maga örökli osztályba kell még az absztrakt vagy még végre kell hajtania a módszer :) Itt található egészen más!

Örökölje egy absztrakt osztály lehetővé teszi, hogy „kenet” végrehajtása egyes módszerek különböző szintű örökséget. Minden egyes szinten implementiruem hogy kapcsolódik hozzá, és más módszerek hagyja elvont és implementiruem őket más szinteken.

Az interfész is szükség van, persze, hogy hajtsák végre -, akkor ő és szerződést. Tehát, a felület arra használják, hogy a szerződés, és egy absztrakt osztály -, mert így a végrehajtása a szerződést.

Most van egy vita Mi interfész programozási?
Azt mondanám, hogy a felület közötti szerződés alkalmazási rétegeket. Van rétegek tao, szolgáltatások sekyureti, és valami mást. vannak kapcsolódási pontok között. Ez azt jelenti, akkor cserélje ki a végrehajtás a végrehajtás a másik réteg nehézség nélkül. Például valami ilyesmi, ha így Spring létrehoz egy újabb réteget tranzakció kezelésére a Tao. Csak ez kényelmes tesztelésre, amikor a teszt írsz Mock objektum

Full-stack fejlesztő (Symfony, Sarki)

A klasszikus példa - class logger. Egyszerűen nem fürdenek, és nem a Logger osztály annak végrehajtását, és mindenhol az ügyfél kódja (azaz a kódot, amely használni fogja ezt az osztályt), hogy vegyenek részt ebben a kategóriában.

De csitt, most a naplókat, akkor nem kell tárolni a fájlokat és az adatbázisban, így hirtelen. Mi változott a kivitelező, mi változott a végrehajtása során a módszerek (feltételezve, hogy van ez, jelentkezzen (string üzenetet, int level, string kategória);

És ez jó, ha már eleget elvének függőség inverzió, akkor az a tény, hogy mi változott a kivitelező nem befolyásolja a kódot klientsokom például csak adott neki, és ő nem tud semmit arról, hogyan lehet létrehozni a fent említett. De delema emelkedik vagy a kereséshez helyemre írja be az ügyfél-kódot, vagy öröklött, egyszerűen cserélje ki a végrehajtás. Ebben a tekintetben az öröklési fog működni, mint szeretnénk, de miért?

A felület, van egy gyönyörű felületet is, annak végrehajtását, ha van egy függőségi tartály tudjuk kötni egy külön végrehajtási a felület, és amennyiben szükséges, ezen a felületen automatikusan tolta a kívánt végrehajtását. Csere végrehajtás - beállítások megváltoztatása DI.

Tehát, ha gyakran kell változtatni a felület, hogy van néhány probléma az épület építészet. A felület legyen egyszerű, és nem egy dolog.

Általában olvashatunk GRASP és szilárd.

Függőség Inversion, a DI konfiguráció, építészet - biztos lehet benne, hogy az a személy, aki feltette ezt a kérdést megérteni ezeket a dolgokat? = D mellett a válasz erősen kötődik NOB és DI, azaz a legkevésbé overhead kérdés megválaszolása „Mik a Interfaces”.

@NekitoSP igazad) alján még rosszabb magyarázat)

Interface - a szerződés értelmében, amelyek kölcsönhatásba lépnek a kódot.

Miért kell, hogy aláírja a szerződést, ha nem tudok rendesen összehúzódni módszerek létrehozását, és velük együtt dolgozni. Nyert további bővítése a kódot a felület felhasználóbarát. Ne jól értem?

Kapcsolódó cikkek