MVC a 3-vrstvá architektura

Kit

Re:MVC a 3-vrstvá architektura
« Odpověď #30 kdy: 25. 01. 2016, 16:27:51 »
takze vasa html template v php vola metody search, seek atd na modeli? co presne je "messenger s pozadovanymi datami"?

Ty metody volá View, vytvoří z  nich strom a ten předá do šablony. Výstup šablony pa serializuje do požadovaného formátu (např. HTML) a předá na výstup.

Messenger je prostě kontejner s požadovanými daty. Nemá žádné metody, pouze pojmenovaná data. View nezná jejich strukturu, zpracovává je reflexí do podoby stromu, který potřebuje výstupní šablona. Ta je opět řízena strukturou toho stromu, takže pro většinu výstupů může být společná.


kamil

Re:MVC a 3-vrstvá architektura
« Odpověď #31 kdy: 25. 01. 2016, 16:30:48 »
proletariati vsech zemi spojte se. Neptejte se zbytecne na forum.root.cz, proteze tady jsou sami experti, kteri otoci diskuzi celkem jinde.

Kit

Re:MVC a 3-vrstvá architektura
« Odpověď #32 kdy: 25. 01. 2016, 16:45:15 »
proletariati vsech zemi spojte se. Neptejte se zbytecne na forum.root.cz, proteze tady jsou sami experti, kteri otoci diskuzi celkem jinde.

Proletáři všech zemí, vyližte mi pr*el.

Bavíme se o vazbě View na Model, což je důležitá vazba mezi vrstvami MVC, na který se ptá tazatel.

perceptron

Re:MVC a 3-vrstvá architektura
« Odpověď #33 kdy: 25. 01. 2016, 16:46:42 »
messenger je terminologia odkial?

ale vas "messenger" ako kontajner na data je v struts / spring mvc a podobne presne analogia "blbeho modelu" (len data + gettre a settre) o ktorej som rozpraval. takze sa nasla zhoda :-)

co len dokazuje tvrdenie Filipa Jirsaka ze variantov je mnoho

Kit

Re:MVC a 3-vrstvá architektura
« Odpověď #34 kdy: 25. 01. 2016, 17:24:12 »
messenger je terminologia odkial?

Messenger je jeden z návrhových vzorů.

ale vas "messenger" ako kontajner na data je v struts / spring mvc a podobne presne analogia "blbeho modelu" (len data + gettre a settre) o ktorej som rozpraval. takze sa nasla zhoda :-)

Až na to, že ten můj messenger obsahuje pouze data, která View potřebuje pro zobrazení a nic víc. View si z něj už nic nevybírá, ale všechna data v něm obsažená odprezentuje přes šablonu a nic nenechá ladem.

Pokud ten můj messenger považuješ za model, tak pouze na jedno použití. Příště bude obsahovat jiná data s jinou strukturou. Právě proto nemá žádné gettery ani settery, protože by byly pouze zdrojem komplikací, ale žádný užitek.


Natix

Re:MVC a 3-vrstvá architektura
« Odpověď #35 kdy: 25. 01. 2016, 17:59:15 »
Až na to, že ten můj messenger obsahuje pouze data, která View potřebuje pro zobrazení a nic víc. View si z něj už nic nevybírá, ale všechna data v něm obsažená odprezentuje přes šablonu a nic nenechá ladem.

Takže ViewModel?  ;)

Kit

Re:MVC a 3-vrstvá architektura
« Odpověď #36 kdy: 25. 01. 2016, 18:44:20 »
Až na to, že ten můj messenger obsahuje pouze data, která View potřebuje pro zobrazení a nic víc. View si z něj už nic nevybírá, ale všechna data v něm obsažená odprezentuje přes šablonu a nic nenechá ladem.

Takže ViewModel?  ;)

ViewModel ten můj messenger být nemůže, protože neobsahuje žádnou logiku - pouze strukturovaná data potřebná pro aktuální prezentaci a nic víc. View využije všechna tato data. ViewModel by musel přijímat od View povely, ale tenhle to neumí. Ve chvíli, kdy je volán Model, tak ještě neexistuje - vyrábí ho teprve Model jako kopii požadované části dat.

Ten můj messenger je obyčejnou kolekcí, se kterou si View může dělat co chce. Co je na tom k nepochopení?

Někdo může namítnout, že metoda, která vyrábí můj messenger, je v podstatě getter. A ve své podstatě by měl pravdu. Pouze výsledkem takové operace není skalár s jedním údajem, ale struktura, ve které jsou všechny požadované hodnoty v jednom balíku a v takové podobě, že se dá téměř strčit do výstupní šablony.

perceptron

Re:MVC a 3-vrstvá architektura
« Odpověď #37 kdy: 25. 01. 2016, 20:28:15 »
poprosim odkaz na messenger ako navrhovy vzor :-)


Kit

Re:MVC a 3-vrstvá architektura
« Odpověď #38 kdy: 25. 01. 2016, 20:48:23 »
poprosim odkaz na messenger ako navrhovy vzor :-)

To jsem si mohl myslet, že tohle vytasíš, protože si ho určitě neumíš najít sám:
http://www.cs.huji.ac.il/~noam/intro2cs2001/www/TIPatterns.pdf

Později byl ze seznamu vzorů vyřazen, protože je příliš jednoduchý a těch vzorů bylo moc.

Messenger je prostě přepravka. Nevím, co ti na tom není jasné. I když není v aktuálním seznamu návrhových vzorů, tak bys měl vědět, co je to Messenger.

Gettery ani settery v seznamu návrhových vzorů také nejsou, ale přesto se používají.

Kontraband

Re:MVC a 3-vrstvá architektura
« Odpověď #39 kdy: 25. 01. 2016, 21:04:33 »
mozem sa tu niekde vystrikat?