Hirdetés
Új hozzászólás Aktív témák
-
Drizzt
nagyúr
válasz
axioma
#10244
üzenetére
Alapvetően probléma nincsen vele, de én inkább csinálnék egy másik mátrix típust(Matrix), ami teljesen a ProjMatrix implementációitól. És akkor nem lenne generikus a ProjMatrix interface, a getUnderlying helyett meg lenne egy Matrix getMatrix. És az egyes implementációknak lenne az az implementation detail-je, hogy a belső saját mátrixából hogyan fog mátrixot csinálni, factory-kal, különböző bemenő adatok alapján. Pl.: lenne egy ilyen a Matrix createMatrix(double[][] mtx), illetve valami más értelmes adat. A konstruálás paramétereit mindig az vezényelje, hogy milyen adataid lesznek ahol felhasználod ezt az interface-et.
Működni tökéletesen működni fog amit csináltál, viszont az nem fog nekem tetszeni, hogy a felhasználó kódnak végül mindenképpen tudnia kell a konkrét implementáló osztályokról, mert van olyan method az interface-ben, ami implementáció specifikus értéket vár/ad vissza. Így nem tudod pl.: ServiceLoaderrel betölteni az implementációkat, hanem minden új implementációnál újra kell majd fordítanod a kódot. Ami nem feltétlenül probléma, de egy megfontolandó dolog.
Ami sérül ebben az interface-ben, az a SOLID design elvekben a "dependency inversion principle". Nem jó practice, ha az interface felhasználója bármilyen specifikus dolgot kell tudjon az implementációból(esetedben az M típust).
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Azonnali készpénzes nVidia RTX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 3070Ti / 32GB DDR5 / 1TB SSD!
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- Garmin Forerunner 405 GPS óra
- AKCIÓ! MSI MAG 325CQRXF QHD VA 240Hz 1ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


