Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
alfonz
Člen
Avatar
alfonz:11.4.2014 15:43

Ahoj,
Představují vám zcela novou architekturu Component View Architecture pro programování webů a framework pro PHP, který je na této architektuře založený. Architektura se inspirovala u MVC. Hlavní myšlenkou architektury je web který se skládá z komponent jako puzzle. Framework bude free nebo OpenSource. Obsahuje základ architektury a Wrapper k databázi. Aktuálně je vývoj v Alpha verzi. Projekt bude ke stáhnutí během dvou týdnů. Až bude dokončena většina systémové architektury.

Odpovědět
11.4.2014 15:43
lmao
Avatar
alfonz
Člen
Avatar
alfonz:21.4.2014 16:24

Vytvořil jsem web pro CVA architekturu/fra­mework s detailnějším popisem a stažením Alpha verze. http://cva.lerainsoft.eu/

Nahoru Odpovědět
21.4.2014 16:24
lmao
Avatar
Martin Konečný (pavelco1998):21.4.2014 17:07

Krásně je ten kód komentovaný. Schválně, kdy se v tom ztratíš a nebudeš vědět, co co dělá. :-)

Nahoru Odpovědět
21.4.2014 17:07
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na alfonz
Honza Bittner:21.4.2014 17:11

Pokud opravdu, jak píšeš,

CVA architecture
==
Component View Architecture architecture

tak to není moc geniální název :P

Editováno 21.4.2014 17:11
Nahoru Odpovědět
21.4.2014 17:11
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na alfonz
Libor Šimo (libcosenior):21.4.2014 17:15

Každý má šancu. Ostatní len závidia nápad. ;)

Nahoru Odpovědět
21.4.2014 17:15
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Honza Bittner
Neaktivní uživatel:21.4.2014 17:16

Component View Assembly

Nahoru Odpovědět
21.4.2014 17:16
Neaktivní uživatelský účet
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Honza Bittner:21.4.2014 17:22

Jo, už koukám na web... Takže to napsal špatně tady... ;)

Nahoru Odpovědět
21.4.2014 17:22
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
alfonz
Člen
Avatar
alfonz:21.4.2014 17:44

Název se změnil. V frameworku se toho bude ještě hodně měnit. Co říkáte na architekturu?

Nahoru Odpovědět
21.4.2014 17:44
lmao
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na alfonz
Petr Nymsa:21.4.2014 18:00

Jaký je tedy rozdíl mezi Component a Assembly ?

Nahoru Odpovědět
21.4.2014 18:00
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
alfonz
Člen
Avatar
alfonz:21.4.2014 18:28

Assembly a Component jsou podobné, ale Assembly by měla být složitější(vlastní CSS soubor atd.) a je to vlastně kontejner pro komponenty. Díky tomu je jednoduché změnit celý vzhled stránky(např. ze stránky do administrace) jednoduchou změnou Assembly.

Nahoru Odpovědět
21.4.2014 18:28
lmao
Avatar
Odpovídá na alfonz
Neaktivní uživatel:21.4.2014 18:35

Takže v překladu na MVC, Assembly je Controller, Component je Model. Je to tak?

Nahoru Odpovědět
21.4.2014 18:35
Neaktivní uživatelský účet
Avatar
alfonz
Člen
Avatar
Odpovídá na Neaktivní uživatel
alfonz:21.4.2014 18:39

V podstatě ano.

Nahoru Odpovědět
21.4.2014 18:39
lmao
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na alfonz
Petr Nymsa:21.4.2014 18:47

Jenže - Model by neměl být závislý na View. Chápu o co se přesně snažíš, ale prakticky ti tu chybí ještě jedna komponenta - Modely. Tedy třídy, které se starají pouze o data

Nahoru Odpovědět
21.4.2014 18:47
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Petr Nymsa
Neaktivní uživatel:21.4.2014 18:49

To bude asi hlavní rozdíl oproti MVC, jinak by se to mohlo jmenovat stejně. Jsem zvědav, co z toho nakonec vyleze.

Nahoru Odpovědět
21.4.2014 18:49
Neaktivní uživatelský účet
Avatar
alfonz
Člen
Avatar
Odpovídá na Petr Nymsa
alfonz:21.4.2014 18:52

Jaká může být nevýhoda nepoužívání modelů u MVC?

Nahoru Odpovědět
21.4.2014 18:52
lmao
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na alfonz
Petr Nymsa:21.4.2014 19:05

Nejde o nevýhodu, jde o architekturu.

Výklad MVC říká, že Model se stará o data aplikace, je mu jedno jestli se následně vytisknou na papír, zobrazí jako HTML. To už dělá controler. Controler je prostředník mezi uživatelem a aplikací. Controler volá Modely a skládá View, které zobrazí data.

Tvá architektura (co tak chápu)
Component Nějaká komponenta do aplikace - statistiky, menu,...
Má View, následně i conexi na DB apod
Assembly je soubor komponent. Pěkný nápad. Má vlastní View a můžu mít Assembly Admin - kde bude mít komponenty např. menu, správce uživatelů,...
View zobrazí data.

Jenže problém vidím v tomhle.
Za

  1. kde zpracováváš požadavky od uživatele ?
  2. proč by měla mít komponenta na starost ještě tahání dat z databáze apod ?

proto modely. Ty se starají o data. Nezajímá je pohled, nezájímá co chce uživatel. Model poskytuje jen možnost spravování dat, vrácení dat apod.

Pokud se úplně pletu, oprav mě :)

Nahoru Odpovědět
21.4.2014 19:05
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
coells
Tvůrce
Avatar
Odpovídá na Petr Nymsa
coells:21.4.2014 19:34

Prostředník mezi uživatelem a aplikací je obvykle view nebo controller. Trik je v tom, že MVC má řadu podob i implementací, které se liší vzájemnou závislostí mezi M/V/C. Kdo pracoval s ASP.NET nebo PHP zná obvykle jeden nebo dva způsoby. Zcela "korektně" napsaná implementace MVC podle definice a představ bude mít jeden model, jeden controller a ... to je všechno. Když nad to dáš HtmlView, bude výstup do prohlížeče, pokud WpfView, tak bude výstup na mobil, ale M a C se nezmění.

CVA mi od pohledu přijde jako obyčejné MVC, které se trochu rozteklo a ztratilo jednoznačnou definici odpovědnosti mezi jednotlivými částmi. Jinak tam nevidím nic, co bych už neviděl v MVC.

 
Nahoru Odpovědět
21.4.2014 19:34
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na coells
Petr Nymsa:21.4.2014 19:36

Samozřejmě že největším problémem je nepřesná definice těchto architektur. Ale v CVA podle mě má zbytečně smíchané závislosti na View a Modely. Aspoň mi to tak přijde

Nahoru Odpovědět
21.4.2014 19:36
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
coells
Tvůrce
Avatar
Odpovídá na Petr Nymsa
coells:21.4.2014 19:47

V řadě MVC implementací je závilost view na modelu, to je poměrně obvyklé (a pokud jsi psal ve WPF, tak jsi to na 100% udělal taky).

Tady je ale problém, že definice modelu úplně chybí (jak už jsi zmínil), takže nedokážeš vůbec odhadnout, jaké ty závislosti budou.

Větší průšvih ale je propojení view a controlleru, které se tady prezentuje jako Assembly a Component. Assembly má zřejmě reprezentovat to, co se občas nazývá hierarchie controllerů. Jenže tam je jasně dané View a odpovědnost za něj. Componenta má svoje view, Assembly má svoje view... kde je View?

 
Nahoru Odpovědět
21.4.2014 19:47
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na coells
Petr Nymsa:21.4.2014 19:50

Tak ono u WPF jsem spíš bral že se využívá MVVM - Model-View-ViewModel

Já to CVA chápu tak, že Componenta může být něco jako Widget, tedy nemusí se zborazit všude, jen někde. A Assembly je popis stránky, která v sobě má informace jaké widgety může zobrazit

Nahoru Odpovědět
21.4.2014 19:50
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
coells
Tvůrce
Avatar
Odpovídá na Petr Nymsa
coells:21.4.2014 20:00

MVVM je náhrada za MVC, protože MVC tam vedlo na takovou ... nemilá, nepěkná věc.

Já to CVA chápu stejně. Ale co se stane, když se odešle postback? Kdo je za něj zodpovědný? C? A? V? Co se stane u partial requestu? Co když jsou componenty propojené přes model (a nebo zrovna nejsou)?

Vysvětlení je jednoduché. Obvykle se napíše aplikace, a protože má hezkou architekturu, udělá se z toho pattern. Tohle mi přijde jako architektura vymyšlená sama pro sebe, proto je to tak nejasné (čímž bych se neradl dotkl autora). Jak už jsem řekl, od pohledu je to obyčejné MVC, tedy nový framework pro tvorbu aplikací, není to ale nová architektura.

 
Nahoru Odpovědět
21.4.2014 20:00
Avatar
Odpovídá na alfonz
Matúš Petrofčík:21.4.2014 20:09

na verejnom serveri by ste mali mať vypnuté zobrazovanie chýb, napr. tu:
http://framework.lerainsoft.eu/Alpha0.5/

Nahoru Odpovědět
21.4.2014 20:09
obsah kocky = r^2 ... a preto vlak drnká
Avatar
alfonz
Člen
Avatar
alfonz:21.4.2014 20:18

Komponentu můžete chápat jako kostičku lega která dostane nějaké informace. Assembly je deska pro kostičky na kterou se kostičky připojí a vytvoří výslednou stránku. A když potřebuješ změnit rozložení kostiček tak jednoduše přepneš Assembly. Jelikož se logika rozdělí tak vytváření modelů je zbytečné. Tuhle architekturu jsem vymyslel pro eshop systém. A protože se nějak zamotala rozhodl jsem se udělat samostatný framework.

Nahoru Odpovědět
21.4.2014 20:18
lmao
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 23 zpráv z 23.