Hirdetés
- Milyen belső merevlemezt vegyek?
- Amlogic S905, S912 processzoros készülékek
- Fejhallgató erősítő és DAC topik
- Az Intel szerint sokáig marad velünk az Intel 18A node
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- OLED TV topic
- Milyen széket vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD GPU-k jövője - amit tudni vélünk
- Bluetooth hangszórók
-
PROHARDVER!

Ú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
● olvasd el a téma összefoglalót!
- Milyen légkondit a lakásba?
- Milyen belső merevlemezt vegyek?
- Amlogic S905, S912 processzoros készülékek
- Fejhallgató erősítő és DAC topik
- Linux Mint
- PlayStation 5
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Az Intel szerint sokáig marad velünk az Intel 18A node
- Renault, Dacia topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3437, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Macbook Pro 2019 // i9 // 32GB / 2TB // Számla+Garancia //
- AKCIÓ! Apple Pro Display XDR 32 6K Nanotexturált üveg monitor garanciával hibátlan működéssel
- LG 48C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




