Autor | Zpráva | ||
---|---|---|---|
joe Profil |
#1 · Zasláno: 28. 7. 2011, 01:02:10
Ahoj,
z jakého důvodu se nepoužívají v modelech statické metody? Může mi to někdo nějak vysvětlit? Já je totiž pořád používám :-) Přijde mi to jednoduché, rychlejší (na psaní) ... |
||
Lamicz Profil |
#2 · Zasláno: 28. 7. 2011, 02:37:14
Pytel statických metod ve třídě není OOP, ale fce s "namespace". Statické metody mají své místo v určitých návrhových vzorech a "jen tak" bych je nepoužíval. BTW co znamená "jednoduché, rychlejší (na psaní)"? Podle tohoto kritéria bys měl psát spagetti kód do jednoho souboru a nezabývat se nějakým OOP, tam už musíš psát class a function... :)
|
||
joe Profil |
#3 · Zasláno: 28. 7. 2011, 03:25:39 · Upravil/a: joe
Lamicz:
Když si píšu modely staticky, přijde mi jednodušší pak kdekoli zavolat Model::metoda(); Než vytvářet instance všude tam, kde potřebuju. A jo, asi to nebude tak OOP jako si i z modelů vytvářet instance, ale k čemu mi to je? Jaký výhody mi to přinese? ...? |
||
oop Profil * |
#4 · Zasláno: 28. 7. 2011, 16:51:08
Ja to vidím tak že výhodne je pristupovať k metódam ako ku statickým vo vnútri tried ak jedna rozširuje druhu atď. Ale výsledná aplikácia by mala byt instancia.
|
||
Mastodont Profil |
#5 · Zasláno: 28. 7. 2011, 17:05:09
přijde mi jednodušší pak kdekoli zavolat Model::metoda()
To můžeš rovnou vytvářet klasické procedurální funkce model_save() ... Statické metody se hodí u objektů s globální dostupností, třeba Config. Pokud třídu používáš jen někde, vytvářej instance. |
||
Ugo Profil * |
#6 · Zasláno: 28. 7. 2011, 17:06:52
Jednoduchá poučka je ... co jde udělat staticky, udělejte staticky. De o to že statické metody jsou rychlejší. Pokud se obejdeš úplně bez instancí, pak dobře nechápu k čemu vlastně máš třídy.
Já jim třeba na chuť ještě nepřišel, hlavně ta blbá syntaxe se píše hrozně a vypadá jak kdyby spadle ze stráně do šípku :-P |
||
joe Profil |
#7 · Zasláno: 28. 7. 2011, 19:09:32
Mastodont:
„To můžeš rovnou vytvářet klasické procedurální funkce model_save() ...“ To můžu, ale dělám to proto, abych to měl alespoň oddělené a to co má být v modelu (práce s db), aby tam opravdu byla... Kdybych si psal funkce do Controlleru, pak bych se v tom nemusel vyznat víc než teď :-) „Statické metody se hodí u objektů s globální dostupností, třeba Config. Pokud třídu používáš jen někde, vytvářej instance.“ ok. Ugo: „Pokud se obejdeš úplně bez instancí, pak dobře nechápu k čemu vlastně máš třídy.“ To jsem před chviličkou napsal, abych si aspoň trošku rozdělil kód a neměl v tom binec. |
||
Časová prodleva: 14 let
|
0