Hirdetés
- Szerkesztett és makrofotók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- Android alkalmazások - szoftver kibeszélő topik
- Milyen okostelefont vegyek?
- Poco X6 Pro - ötös alá
- Telekom mobilszolgáltatások
- Jolla és SailfishOS tapasztalatcsere
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
-
Mobilarena
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
- Építő/felújító topik
- Luck Dragon: Asszociációs játék. :)
- Battlefield 6
- HiFi műszaki szemmel - sztereó hangrendszerek
- Bambu Lab 3D nyomtatók
- Ilyen olcsó sem volt még egy Apple notebook
- One otthoni szolgáltatások (TV, internet, telefon)
- Okos Otthon / Smart Home
- Apple MacBook
- PlayStation 5
- További aktív témák...
- Seagate IronWolf 4TB HDD 100/100 Beszámítás OK!
- Lenovo LOQ 15IRH8 / i5-13500H / RTX 4060 / 16GB / garancia
- Lenovo ThinkPad T14s Gen 2 Ryzen 5 PRO 16GB RAM 256GB SSD FHD Touch 97% akku, szép állapotú
- ASUS Vivobook S15 OLED BAPE Edition (K5504VA) - Full Blue Bundle - 120Hz 3K OLED
- Lenovo ThinkPad T440,14",HD+,i5-4200U,8GB RAM,500GB SATA3 HDD,WIN10
- Creality HALOT ONE gyantás nyomtató
- Bomba ár! HP ProBook 450 G8 - i5-1135G7 I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- Eladó Samsung Galaxy A16 4/128GB fekete / kijelző alsó része hibás / 12 hó jótállás
- AKCIÓ! Acer Nitro 5 AN515-58-75F8 Gamer notebook - i7 12700H 16GB DDR4 512GB SSD RTX 3060 6GB
- AKCIÓ! AMD Ryzen 9 7950X 16 mag 32 szál processzor 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.
