Mikor érdemes asszociatív tömböket használni és mikor osztályokazlt/objektumokat?
Az asszociatív tömb arra való, hogy kulcs-érték pár alapján tudj tárolni sok, egyforma típusú objektumot. AZ objektum (pontosabban az osztály) pedig egy olyan értéktípus, amely egységbe zárja a kódot és az adatot, azaz a metódusokat és tulajdonságokat.
Vagy én nem értem a kérdést, vagy te nem érted, melyik mire való.
"olyan értéktípus, amely egységbe zárja a kódot és az adatot, azaz a metódusokat és tulajdonságokat."
Ez kb. 15 évvel ezelőtt volt. Aztán jöttek a design pattern-ek és ezt el lehetett felejteni.
#3
Te mégis miről beszélsz?
Az objektum ugyanaz, mint volt 15 éve. Sőt, alapvetően már a SIMULA I is ugyanazt az osztály/objektum fogalmat használta 1967-ben, mint a mai OO nyelvek.
5
Attól, hogy egy helyiségbe a házadon belül - a design patterned szerint - nem teszel wc-t, csak bútorokat, attól még az egy helyiség marad a lakásban.
Az MVC pattern szerinti Controller is egy osztály. Objektum akkor lesz, ha majd a keretrendszer lepéldányosítja futásidőben. Ettől függetlenül beleírhatsz amit akarsz, sőt, a keretrendszert is átprogramozhatod ha úgy tetszik. Változók, konstansok, elágazások, osztályok, objektumok. Ebből áll a kód, és ez nem változott azóta semmit.
#5
Te szellemi hátrányt szenvedő, itt egy controller osztály: [link]
Ránézésre van vagy 30 propertyje meg közel ugyanennyi metódusa.
"egy MVC Controller objektum mégis milyen adatokat vagy tulajdonságokat zár egységbe?"
Az ostoba fejedet zárja egybe... azonkívül pedig például tartalmazhat egy URL-t, egy QueryStringet, stb. És ezekkel műveleteket végez.
Ha nem léteznének osztályok, akkor kellene csinálnod egy struct-ot, amiben tárolod az adatokat, meg kellene írnod egy halom függvényt valahova (mondjuk C-ben tudsz függvényre mutató pointer tárolni struct-ban, de ez most nem lényeges).
A tervezési minták egy teljesen másik absztrakciós szint. Eleve, a minták az osztályokra és azok tulajdonságaira építenek, nem is értem, hogy keverhetted ide őket.
Az MVC pedig NEM egy tervezési minta, hanem egy architekturális modell, ez megint csak másik absztrakciós szint.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!