Ismertető
Bár programozás közben gyakran használunk objektumorientált eszközöket, nem biztos, hogy objektumorientált módon programozunk, betartjuk az alapelveket, és jól érthető, könnyen karbantartható kódokat írunk. Java nyelven is lehet procedúrális kódokat írni, könnyen lehet spagetti alkalmazásokat készíteni.
A képzés célja az objektumorientált ismeretek elmélyítése tapasztalt Java programozók számára. A képzés elvégzésével gyakorlati szinten lehet az absztrakt objektumorientált elveket is alkalmazni.
Szükséges előképzettség
Alapszintű Java programozási ismeretek.
Tematika
- Mi az az anemic model?
- Egységbezárás
- Kohézió
- Coupling
- Konstruktorok és használatuk
- Statikus metódusok és használatuk
- POJO és a getter/setter
- Mutable/immutable objektumok
- Csomagok fontossága a szoftverarchitektúrában
- Code smells
instanceof
, típuskényszerítés, reflectionswitch
- Oo-val kapcsolatos Clean Code elvek
- Interfészek használata
- Prefer comosition over inheritance
- is-a, has-a kapcsolatok
- Polimorfizmus, többalakúság
- Tervezési minták alapjai
- S.O.L.I.D elvek gyakorlati alkalmazása
- Dependency injection
- Inversion of control
- Oo elvek és minták nyelvi és keretrendszerbeli támogatása
- Tesztelés
- Elegant Objects
null
használata és azOptional
- Oo programozás és a funkcionális programozás összehasonlítása
- Oo elvek alkalmazása legacy kódon
- UML előnye, hátránya, helyes használatának megválasztása
- C4 model
- Osztályok kapcsolata a követelményekkel
- Osztályok azonosítása a követelmények alapján