GRASP Patterns.

Slides:



Advertisements
Podobné prezentace
Rovnice s absolutními hodnotami
Advertisements

Stručný úvod do UML.
Kariérové poradenství
Vývoj aplikací s využitím JavaFX
Projektové řízení Modul č.1.
Návrh a zdůvodnění změny loga ŠSČR Současné logo je zastaralé. Od dob jeho navržení se změnily média: z papíru se přešlo na počítače, z počítačů se postupně.
Microsoft Silverlight
Databázové systémy Přednáška č. 3 Proces návrhu databáze.
XII/2007 Gepro, spol. s r.o. Ing. Stanislav Tomeš Struktura výkresu - titulní strana Struktura výkresu WKOKEŠ.
Nelineární projevy mechanických konstrukcí Petr Frantík Ú STAV STAVEBNÍ MECHANIKY F AKULTA STAVEBNÍ V YSOKÉ UČENÍ TECHNICKÉ V B RNĚ školitelé: Zbyněk Keršner.
Projekt – úkoly, zdroje, vazby úkolů, náklady Ing. Jiří Šilhán.
State. State – kontext a problém Kontext  chování objektu má záviset na jeho stavu, který se typicky mění za běhu Neflexibilní řešení  metody obsahují.
Informační systémy Modelování dynamiky objektového modelu. Koncepce modelu v programu MS Visio.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
Aukro.cz – projektový management v e-commerce Tereza Kabrdová.
Český normalizační institut Czech Standards Institute Seminář Řízení kvality a bezpečnosti informačních systémů v souvislostech mezinárodního akreditačního.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Algoritmizace a základy programování
Softwareová architektura
Střední škola služeb a podnikání, Ostrava-Poruba příspěvková organizace Výukový materiál v rámci projektu OPVK 1.5 Peníze středním školám Číslo projektu:
Facade [f ə ˈ s ɑː d]f ə ˈ s ɑː d. Facade Před: Po:
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Mobilní telefonní síť GSM
6. cvičení Polymorfismus
Návrhový vzor Factory v JAVA API Martin Kot Katedra informatiky VŠB – Technická univerzita Ostrava
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
ZÁMECKÁ KOČÁROVNA V Brandýse nad Labem ARCHITEKTONICKÁ STUDIE – 2.KOLO ING.ARCH. Z. KABELÍK –
Digitální výukový materiál zpracovaný v rámci projektu „EU peníze školám“ Projekt:CZ.1.07/1.5.00/ „SŠHL Frýdlant.moderní školy“ Škola:Střední škola.
Struktura projektu, vlastnosti objektu ve scéně VY_32_INOVACE_Mul4a0201Mgr. Jiří Mlnařík.
Systémové navrhování technických produktů KKS/ZKM Katedra konstruování strojů Fakulta strojní Tato prezentace je spolufinancována Evropským sociálním fondem.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
INFORMATIKA 8 Multifunkční zařízení III2 – I8- 06.
Institut geoinformatiky VYUŽITÍ CELULÁRNÍCH AUTOMATŮ PRO MODELOVÁNÍ SILNIČNÍ SÍTĚ V MULTIAGENTOVÉM SYSTÉMU Vypracoval: Bc. Martin Hlaváček Vedoucí: Ing.
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.
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Přístupnost v praxi aneb jaký smysl mají testy, provedené handicapovanými uživateli Mgr. Radek Pavlíček, RNDr. Hana Bubeníčková, duben 2007.
Mikroprocesor.
3. Kompozice ve výtvarném umění
Bonitní modely Bonitní modely Ekonomické souvislosti právní úpravy obchodních společností Eva Tomášková
Ekonomika malých a středních podniků Přednáška č. 10: Personální řízení v MSP.
Vypracováno kolektivem autorů České společnosti pro technickou normalizaci Úřad pro technickou normalizaci, metrologii a státní zkušebnictví
V hledáčku k ompozice Zpracovala: Mgr. Jitka Hot ařová Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97.
CAD V - GIS Mgr. Jiří Čtyroký Ph.D Ing. Martin Šilha.
VideoStreaming Aplikace pro mobilní zařízení Jiří Chadima, Jiří Mašek.
Corel DRAW Úloha 1 Zpracovala: Mgr. Jitka Hot ařová Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97.
Corel DRAW Úloha 3 Zpracovala: Mgr. Jitka Hot ařová Střední škola informačních technologií a sociální péče, Brno, Purkyňova 97.
Business Activity Monitoring Jiří Kolář. Pojmy a zkratky ● SOA ● Servis Oriented Architecture ● BPMS ● Business Process Management System ● BAM ● Business.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Delphi – práce se základními komponentami (2. hodina) OB21-OP-EL-KON-DOL-M-4-008B Orbis pictus 21. století.
Mgr. Lenka Vrzáňová VY_32_INOVACE_2C_08_POPIS_UMELECKEHO_DILA Popis listopadu 2011 Popis – úvod, co vše můžeme popisovat, specifika popisu uměleckého.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
SOLID principy v OOP návrhu
Množina bodů dané vlastnosti
Praha, 1. – ročník mezinárodní konference k profesnímu rozvoji pedagogických pracovníků Profesní rozvoj pedagogů.
Vlastnosti souborů Jaroslava Černá.
Název školy: Základní škola Pomezí, okres Svitavy
Střední odborná škola a Střední odborné učiliště, Vocelova 1338
1. ročník oboru Mechanik opravář motorových vozidel
Název projektu: Moderní výuka s využitím ICT
Firmware počítače a jeho význam Tematická oblast: Úvod do předmětu
Návrhový vzor Flyweight
Šimon Vohradský MT DESIGN.
Bridge.
DESIGNOVÉ MYŠLENÍ Tento projekt byl financován za podpory Evropské komise. Podpora Evropské komise při vypracování této publikace neznamená, že se Komise.
V hledáčku kompozice Zpracovala: Mgr. Jitka Hotařová
Semafor pro chodce VY_32_INOVACE_5A_11
Monitor Object 1.
Cardinal or Ordinal
Transkript prezentace:

GRASP Patterns

GRASP Patterns General Responsibility Assignment Software Patterns Patterns or Design Principals? The full set of GRASP patterns are: Information Expert Creator Controller Low Coupling High Cohesion Polymorphism Pure Fabrication Indirection Protected Variations

(GRASP) Information Expert V průběhu návrhu se rozhodujeme, jakou zodpovědnost za vykonávání kterých úkolů přidělíme jednotlivým třídám. Princip Information Expert says: Přiřaď zodpovědnost informačnímu expertovi, t.j. třídě, jež má k dispozici informaci nezbytnou pro vykonání příslušného úkolu.

(GRASP) Information Expert

(GRASP) Creator V průběhu návrhu se rozhodujeme, který objekt má být zodpovědný za vytvoření nových objektů. Objekt typu B je tvůrcem (creator) objektů třídy A, když třídy A a B splňují aspoň jednu z těchto podmínek: B agreguje A objekty (vztah celek - části). B obsahuje A objects (vztah kompozice – objekty B nemohou existovat bez vtahu k A) B eviduje instance A objektů. B úzce využívá A objekty. B vlastní inicializační data, která jsou potřebná pro konstrukci objektů A (B je expert vzhledem k vytváření objektů A). Je-li aplikovatelný více než jeden z těchto bodů, má přednost agregace a kompozice Pokud je tvorba objektu A složitá, může se tato tvorba delegovat speciálně navržené třídě (např. Abstract Factory).

(GRASP) Creator Jak to bude vypadat zde?

(GRASP) Creator

(GRASP) Controller Kdo obsluhuje systémové události? Události jsou často iniciovány z vnějšku navrhovaného systému. Náš systém bude mít třídu, která přijímá takovou událost, ale neznamená to, že ji tatáž třída má také obsloužit. Princip Controller navrhuje, aby událost obsloužila některá z následujících tříd: Třída, jež reprezentuje celý systém, zařízení nebo subsystém (facade controller). Třída, jež reprezentuje příslušný scénář případu užití, během něhož událost nastala. Jméno takové třídy by mělo být <usecasename>Handler, <usecasename>Controller, <usecasename>Manager, atp. V případě volby druhého případu se v kontextu daného případu užití často používá tentýž controller pro celý systém. Jediný důvod, proč to tak nedělat, by mohla být skutečnost, že by tento controller byl příliš složitý. V takovém případě je lepší práci rozdělit mezi více kontrolerů.

(GRASP) Controller

(GRASP) Controller ŠPATNĚ: Někdy vývojáři používají GUI objekty přímo jako controllery.controller objects. SPRÁVNĚ: Použití samostatného objektu – controlleru. Viz. obrázek.

(GRASP) Protected Variations Princip: Identifikovat body návrhu, které mohou podléhat změnám (body nestability) Přiřadit zodpovědnosti tak, aby kolem těchto bodů nestability vzniknul stabilní interface v nejširším významu toho slova (ne nutně java interface!), který oddělí nestabilní část od části stabilní. Tento pricip je velmi široký a jeho interpretace nemusí být v konkrétním případě jednoduchá.