Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilSebastian Svoboda
1
Kreslítko Petr Diviš Zdeněk Papež
2
Úvod - připomenutí Desktopová („stand-alone“) aplikace Jednoduchý grafický editor Tvorba a editace základních geometrických objektů Možnost seskupování objektů Možnost práce s pořadím v ose Z
3
Verze 1 Standardní MVC architektura Hlavní okno obsahuje panely, které mají společný model a controller
4
Verze 2 Architektura PAC (Presentation-abstraction-control) Někdy také ve variantě hierarchického MVC (P-A nejsou oddělené) Aplikaci tvoří samostatná okna Každé okno má vlastní architekturu podobnou MVC View = Presentation Model = Abstraction Ale jsou oddělené
5
Scénáře - opraveno Editace objektu 1. Uživatel na ploše vybere objekt 2. Uživatel objekt přesune 3. Uživatel změní velikost objektu 4. Uživatel zruší označení 5. Uživatel vybere objekt 6. Uživatel smaže označený objekt Seskupování objektů 1. Uživatel na ploše vybere několik objektů 2. Uživatel z označených objektů vytvoří novou skupinu objektů 3. Uživatel skupinu objektů přesune 4. Uživatel změní velikost skupiny objektů 5. Uživatel zruší označení 6. Uživatel vybere skupinu objektů 7. Uživatel smaže označenou skupinu objektů
6
Component diagram
7
Sekvenční diagram MVC - přidání tvaru na plochu
8
Sekvenční diagram PAC – přidání tvaru na plochu
9
Sekvenční diagram PAC – zprávy po přidání tvaru
10
Kvantitativní hodnocení Velikost kódu MVC – 19 tříd PAC – 36 tříd Funkcionalita je totožná! Rozšiřitelnost Pokud chceme přidat nový panel: MVC Nový panel bude pravděpodobně sledovat i upravovat model Musíme znát stávající model Musíme znát zprávy, které model observerům posílá PAC přidáme nového agenta s vlastním modelem (abstraction), kterou si bude upravovat na základě přijímaných událostí Musíme znát typy událostí, které se posílají
11
Srovnání MVCPAC ŠkálovatelnostŠpatnáVýborná RozšiřitelnostŠpatnáDobrá PortabilitaDobrá Low CouplingHoršíLepší High CohesionHoršíLepší Možnost budování hierarchické strukturyNeAno
12
Vyhodnocení Obě architektury se hodí pro jiné obsáhlejší projekty Snažili jsme se demonstrovat rozdíly MVC a PAC PAC - Modularita MVC - Celistvost Obě architektury dobře oddělují model od uživatelského rozhraní a logiky aplikace Možnost oddělené implementace PAC striktně odděluje Presentation od Control MVC často degraduje a spojuje View s Controlerem
13
Děkujeme za pozornost
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.