- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
- Gurulunk, WAZE?!
- Geri Bátyó: Agglegénykonyha 1 – rizseshús másképp
- sh4d0w: Vigyázz a háttértáradra...
- Geri Bátyó: Agglegénykonyha – bevezető - igényfelmérés
- Lalikiraly: Astra kalandok @ Harmadik rész
-
LOGOUT
Új hozzászólás Aktív témák
-
válasz
s1999xx #12692 üzenetére
SRP - Single Responsibility Principle, a neve kb elmagyarazza.
A peldad amugy jo, csak az felejted el, hogy minden classnak lehetnek memberjei, amik szinten lehetnek classok.
Mondok egy masik peldat, hogy ertheto legyen.
Ha irsz egy osztalyt, ami primszamokkal dolgozik, mondjuk ugy, hogy vannak fuggvenyei, amik primeket keresnek, vagy megmondjak az adott primek szamat egy adott intervallumon belul, vagy ikerprimeket keresnek vagy akarmi, akkor se az a class neve, hogy "HasAtLeastAnArrayAndSomeIntegersByTheWayHasItsOwnThreadAlsoTakesParameters", hanem hogy mittudomen PrimeCalculator vagy akarmi.Mondjuk mashogy: Az osztaly nevebol azt kell tudni, hogy mit csinal, es az OOP szepsege, hogy pont leszarod, hogy hogyan. Teged az erdekel, hogy mit csinal, es ehhez mire van szuksege. Ezt tartalmazza a signature.(esetleg erdemes kicsit kesobb meg megnezni, mi az, hogy design by contract)
Nezzuk a peldadat:
Auto motorja. Mit csinal? Mozgatja az autot. Ha Te egy autot veszel, es feltetelezzuk, hogy nem vagy szaki, akkor nem az fog erdekelni, hogy az auto motorjaban hany darab alkatresz van, milyen muszaki kovetelmenyekkel, mert pont leszarod.
Az auto mozgatasa szempontjabol az erdekel, hogy milyen tipusu uzemanyagot fogyaszt es milyen "eroben" van. Amikor az autot aruljak se azt irjak ra, hogy motorter tartalma: szivattyuk (4db), uzemanyagcsovek(4m), szelepek(16), stb stb stb, hanem hogy 2.0 benzin es kesz. (Sot, ujabban meg ezt sem, csak kap valami fantazianevet, pl KJM16 -> 1.6os KurvaJoMotor.)
Peldankban a motor classnak amit felsoroltunk a memberjei. Aki inicializalja a motor classt, es utana hivogatja a "lefetyeljenek a paripak!" fuggvenyt (indit - tapossa a gazt), az pont leszarja, hogy kozben milyen szelep allasa micsoda meg stb.
Aki irja a motor osztalyt, azt mar erdekli, de azt se annyira melyen, ot az erdekli, hogy letezik-e olyan "benzinpumpa" osztaly, ami megfelel az elvarasainak. Aki meg a benzinpumpat tervezi, leszarja, hogyan gyartjak a csapagyat, az erdekli, hogy van-e olyan csapagy, ami megfelel a kovetelmenyeinek, es igy tovabb, egeszen addig, amig az igazan low level szintig el nem jutunk, ami pedig esetunkben a banyaszat. De neked, mint a motor osztaly felhasznalojanak hala egnek nem kell tudnod, hogy melyik alkatreszhez hol banyasztak micsodat, kulonben soha nem keszulne el semmi.Konkluzio: A single responsibility mindig a hivo/felhasznalo kontextusabol ertelmezendo. nem azt jelenti, hogy az osztaly nem csinalhat csak egy dolgot a hatterben, hanem hogy a felhasznalo szempontjabol (aki hasznalni fogja) egy feladatra egy osztalyt hasznalunk, es egy osztaly egy feladatot lat el.
Remelem sikerult erthetoen
eltulmagyaraznom.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Apple iMac 27" 5K 2017 1TB
- Gyári garanciális HP Pavilion 14 x360 i5 1235u/16GB/512SSD/360 TOUCH Screen
- BESZÁMÍTÁS! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple MacBook Pro 16 2024 M4 Max 64GB 2TB SSD macbook garanciával hibátlan működéssel
- MikroTik CCR1009-7G-1C-1S+ Cloud Router
- Bomba ár! Dell Latitude 7490 - i7-8GEN I 16GB I 256-512SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 32GB 1000GB 15.6 új akksi 1év garancia
- BESZÁMÍTÁS! ASUS TUF A620M R5 7600X 32GB DDR5 1TB SSD RX 6700 XT 12GB ZALMAN I3 NEO A-Data 750W
- Külföldi csomagszállítás Packeta csomagpontokon keresztül!
Állásajánlatok
Cég: FOTC
Város: Budapest