Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- hcl: Amúgy mi a terv?
- GoodSpeed: Te hány éves vagy?
- mefistofeles: Érdekes történések a hardveraprón...2.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- BerserkGuts: 9800X3D Hitvallás, Dogma megcáfolása egy RTX5080+12600K-val
- sziku69: Szólánc.
- perge666: Egy korszak vége
- eBay-es kütyük kis pénzért
-
LOGOUT
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
- Milyen légkondit a lakásba?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Samsung Galaxy Z Fold6 - ugyanaz, sarkosan fogalmazva
- Nagyrobogósok baráti topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vicces videók
- Kormányok / autós szimulátorok topikja
- Kerékpárosok, bringások ide!
- Elektromos autók - motorok
- Debrecen és környéke adok-veszek-beszélgetek
- További aktív témák...
- Dell Latitude 5420/5430/5431/5440/7420/7430/7440 Magyar Világítós billentyűzet NTTG2
- Dell Precision 7550 RTX 5000 16G! / FHD / i7 / 32G / 512G / IR HU WS tervező
- Kihagyhatatlan ajánlat! Lenovo ThinkPad P14s Gen 5 Ultra 7 165H (vPro) 32gb DDR5 ram RTX500 ADA 3K
- Egyedi PC összerakás - személyre szabva
- Egyedi PC összerakás - személyre szabva
- Hp Prodesk 600 G4/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- CSÍKOS! MacBook Pro 16" M1 Pro 16GB 512GB Gar.
- Razer Blade 17" i7-12800H / 32GB / 1TB / RTX 3080 Ti 16GB / 4K 120Hz
- AKCIÓ! iMac Pro Intel Xeon W2150B 64GB 1TB VEGA 64 16GB!!! 1 év garancia!
- Honor 200 Pro 512GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Akad itt valaki, aki object composition (és ezzel kapcsolatos patternek, best practice-ek) terén otthonosabban mozog.
