Hirdetés
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- Kicombosította az M5-ös SoC-családot az Apple
- Bambu Lab 3D nyomtatók
- Házimozi belépő szinten
- Soundbar, soundplate, hangprojektor
- Projektor topic
- Milyen egeret válasszak?
- Milyen billentyűzetet vegyek?
- Vezeték nélküli fülhallgatók
- Milyen alaplapot vegyek?
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Pala
veterán
Sziasztok!
Akad itt valaki, aki object composition (és ezzel kapcsolatos patternek, best practice-ek) terén otthonosabban mozog.Szinte bárhol olvasok a témáról, általában a lentihez hasonló példákkal illusztrálják, hogyan is néz ez ki a gyakorlatban (ez nem az én kódom, csak példa):
const canCast = (state) => ({
cast: (spell) => {
console.log(`${state.name} casts ${spell}!`);
state.mana--;
}
})
const canFight = (state) => ({
fight: () => {
console.log(`${state.name} slashes at the foe!`);
state.stamina--;
}
})
const fighter = (name) => {
let state = {
name,
health: 100,
stamina: 100
}
return Object.assign(state, canFight(state));
}
const mage = (name) => {
let state = {
name,
health: 100,
mana: 100
}
return Object.assign(state, canCast(state));
}
scorcher = mage('Scorcher')
scorcher.cast('fireball'); // Scorcher casts fireball!
console.log(scorcher.mana) // 99
slasher = fighter('Slasher')
slasher.fight(); // Slasher slashes at the foe!
console.log(slasher.stamina) // 99Namármost, nekem ezzel az a problémám, hogy a kompozíció során minden egyes object instance új példányt kap ugyanabból a metódusból is, tehát tkp. elkezdjük szépen teleszemetelni a memóriát, kvázi feleslegesen. Kérdés, hogy:
1. El tudjuk-e ezt kerülni úgy, hogy a fenti kódban a canCast és canFight továbbra is pure function-ök maradjanak (mondjuk most a bennük lévő console.log miatt nem azok, de azt most gondolatban vegyük ki
)!? (Pusztán azt elérni, hogy egy metóduson osztozzanak az instance-ek, nem nehéz.)Épp most írok egy játékot, ahol object compositiont használok, százas nagyságrendben készülnek majd objektumok, és nem találtam igazán szép megoldást erre a problémára.
Új hozzászólás Aktív témák
- MWC 2026: nézni szabad, megérinteni nem
- Elektromos autók - motorok
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
- Európába tart a Xiaomi Watch 5, eSIM-es verzió is jöhet
- One otthoni szolgáltatások (TV, internet, telefon)
- Gitáros topic
- Kicombosította az M5-ös SoC-családot az Apple
- Telekom mobilszolgáltatások
- Bambu Lab 3D nyomtatók
- Google Pixel topik
- További aktív témák...
- Gamer Pc jó áron! RTX 4060/16GB Ram/1TB SSD/R5 5500
- Budget Gamer pc jó áron! 1660 Super/i5-9400F/16GB RAM
- Lenovo ThinkPad L590 FullHD 1080p IPS - i5-8265U, 8GB DDR4, 256GB NVMe SSD, Windows 11 Pro
- Aztech Webshop Modern és retro számítástechnika egy helyen Nyitás: Március 8. 12:00
- Aztech Webshop Modern és retro számítástechnika egy helyen Nyitás: Március 8. 12:00
- DELL LATITUDE 5420 üzleti laptop garanciával 14", i5-11345G7 16gb ram 256ssd FHD
- HIBÁTLAN iPhone 15 128GB Pink-1 ÉV GARANCIA - Kártyafüggetlen, MS4635
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- Veszünk: PS5 Fat/Slim/Digital/Pro konzolt, játékokat, Portalt stb. Kérj ajánlatot!
- BESZÁMÍTÁS! Palit Gaming Pro RTX 3070 Ti 8GB videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Akad itt valaki, aki object composition (és ezzel kapcsolatos patternek, best practice-ek) terén otthonosabban mozog.
