Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Kreslítko Petr Diviš Zdeněk Papež. Úvod - připomenutí Desktopová („stand-alone“) aplikace Jednoduchý grafický editor  Tvorba a editace základních geometrických.

Podobné prezentace


Prezentace na téma: "Kreslítko Petr Diviš Zdeněk Papež. Úvod - připomenutí Desktopová („stand-alone“) aplikace Jednoduchý grafický editor  Tvorba a editace základních geometrických."— Transkript prezentace:

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


Stáhnout ppt "Kreslítko Petr Diviš Zdeněk Papež. Úvod - připomenutí Desktopová („stand-alone“) aplikace Jednoduchý grafický editor  Tvorba a editace základních geometrických."

Podobné prezentace


Reklamy Google