Facade. Známý jako. Účel. Motivace. Facade, Fasáda
|
|
- Magdalena Dominika Horáková
- před 9 lety
- Počet zobrazení:
Transkript
1 Facade
2 Facade Známý jako Facade, Fasáda Účel sjednocené high-level rozhraní pro subsystém zjednodušuje použití subsystému zapouzdření skrytí návrhu před uživateli Motivace zjednodušit komunikaci mezi subsystémy zredukovat závislosti mezi subsystémy neznemožnit používání low-level interfaců pro použití na míru
3 Facade - motivace
4 Facade motivace DVD přehrávač projektor Puštění filmu: zatáhnutí žaluzií zapnutí projektoru zapnutí DVD přehrávače zapnutí ozvučení žaluzie Ukončení přehrávání: vypnout DVD přehrávač vypnout ozvučení vypnout projektor vytáhnout žaluzie HI-FI soustava
5 Facade motivace Řešení: Univerzální ovladač s funkcemi: Přehrát film Ukončit film Přehrát hudbu Vypnout hudbu zatáhnout žaluzie zapnout projektor zapnout DVD přehrávač zapnout ozvučení vypnout DVD přehrávač vypnout ozvučení vypnout projektor vytáhnout žaluzie
6 Facade - motivace Příklad Compiler třídy Scanner, Parser, ProgramNodeBuilder,.. Facade poskytuje rozhraní pro práci s kompilátorem na high-level úrovni
7 Facade - motivace Příklad transparentnost třídy subsystému o Facade nevědí svoboda volby- neskrývá třídy subsystému (Parser, Scanner)
8 Facade - použití Použití když je subsystém složitý na běžné použití když existuje mnoho závislostí vně subsystému při vytváření vstupních bodů vrstveného systému Struktura
9 Facade - použití Účastníci Facade (kompilátor) zná třídy uvnitř subsystému deleguje požadavky třídy subsystému (Scanner, Parser,...) nevědí o existenci Facade implementují funkčnost Souvislosti klient se subsystémem komunikuje přes Facade Facade předává požadavky dál může obsahovat vlastní logiku překlad požadavků na třídy subsystému klienti nemusí používat podsystém přímo
10 Facade - důsledky Výhody použití redukuje počet objektů, se kterými klienti komunikují snadnější použití subsystému zmenšuje počet závislostí mezi klienty a subsystémem odstraňuje komplexní a kruhové závislosti méně kompilačních závislostí neskrývá třídy podsytému klient si může vybrat jednoduchost nebo použití na míru umožňuje rozšířit stávající funkcionalitu kombinací podsystémů a jejich metod monitorování systému přístupy, využívání jednotlivých metod Kdy se vyplatí facade do systému implementovat má cenu o ní uvažovat pouze v případě, kdy je cena za vytvoření fasády menší, než je nastudování systému (podsystémů) uživateli
11 Facade - příklad class Scanner { public: virtual Token& Scan(); }; Třída subsystému Třída subsystému class Parser { public: virtual void Parse(Scanner&,ProgramNodeBuilder&); }; Třída subsystému class ProgramNodeBuilder { public: ProgramNodeBuilder(); virtual ProgramNode* NewVariable(); virtual ProgramNode* NewAssignment(); virtual ProgramNode* NewReturnStatement(); virtual ProgramNode* NewCondition() const; ProgramNode* GetRootNode(); };
12 Facade - příklad class ProgramNode { public: // program node manipulation virtual void GetSourcePosition(int& line, int& index); Třída subsystému // child manipulation virtual void Add(ProgramNode*); virtual void Remove(ProgramNode*); virtual void Traverse(CodeGenerator&); protected: ProgramNode(); }; class CodeGenerator { public: virtual void Visit(StatementNode*); virtual void Visit(ExpressionNode*); protected: CodeGenerator(BytecodeStream&); protected: BytecodeStream& _output; }; Třída subsystému
13 Facade - příklad void ExpressionNode::Traverse (CodeGenerator& cg) { cg.visit(this); ListIterator i(_children); for (i.first();!i.isdone(); i.next()) { i.currentitem()->traverse(cg); } } class Compiler { public: Compiler(); virtual void Compile(istream&,BytecodeStream&); }; Facade void Compiler::Compile ( istream& input, BytecodeStream& output ) { Scanner scanner(input); ProgramNodeBuilder builder; Parser parser; parser.parse(scanner, builder); RISCCodeGenerator generator(output); // potomek CodeGenerator ProgramNode* parsetree = builder.getrootnode(); parsetree->traverse(generator); }
14 Facade - implementace Konfigurace fasády Facade jako abstraktní třída konkrétní implementace podsystému je jejím potomkem klienti komunikují s podsystémem přes rozhraní abstraktní třídy klient neví, která implementace podsystému je použita lze zcela změnit způsob implementace, flexibilita podsystému Facade jako jedna konfigurovatelná třída slabší alternativa předchozího výměna komponent podsystému Viditelnost komponent podsystému je vhodné určit viditelné a skryté komponenty podsystému analogie private a public metod třídy malá podpora v objektových jazycích
15 Facade reálné použití V mobilních aplikacích Session Facade v J2EE Fasáda pro webové služby JOptionPane ve Swingu vytváří různé typy základních dialogových oken a zobrazuje je zjednodušuje používání této rozsáhlé knihovny
16 Facade související vzory Abstract Factory Facade může poskytovat interface pro tvorbu objektů Singleton Facade jako Singleton - jen jeden vstupní bod do systému Mediator Mediator také snižuje závislosti na rozdíl od fasády snižuje závislosti mezi komponentami subsystému
DESIGN PATTERNS, PRESENTATION
DESIGN PATTERNS, PRESENTATION DESIGN PATTERNS, PRESENTATION LAYER OF EAA, 1 DESIGN PATTERNS Gang of Four (GOF) Java EE Core EAA 2 DESIGN PATTERNS Design and implementation without flaws! We specifically
Observer. Klasifikace. Alias. Smysl. Potřeba sledování změn objektu a notifikace. Obdoba systému událostí (C#, Java) vlastními prostředky
Observer Observer Klasifikace Object Behavioral Alias Dependents Publish-subscribe Smysl Zavádí možnost sledování změn u objektu tak, že když objekt změní stav, ostatní objekty na tuto změnu zareagují,
Mediator motivace. FontDialog. závislosti mezi jednotlivými ovládacími prvky jsou netriviální
Mediator Mediator motivace FontDialog závislosti mezi jednotlivými ovládacími prvky jsou netriviální Mediator - motivace zná pomůcky, koordinuje interakce místo distribuce chování do jednotlivých pomůcek
PREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.
Jakub Klemsa Jan Legerský Objektově orientované programování klemsjak@fjfi.cvut.cz jan.legersky@gmail.com 30. října 2012 návrhový vzor (design pattern) obecné řešení problému, které se využívá při návrhu
Návrhové vzory OMO, LS 2014/2015
Návrhové vzory OMO, LS 2014/2015 Motivace Cílem objektového návrhu je strukturu aplikace navrhnout tak, aby splňovala následující kritéria: snadná rozšiřitelnost účelnost testovatelnost dokumentovatelnost
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
State. Známý jako. Účel. Použitelnost. Stav, Object for States. umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu
State State Známý jako Stav, Object for States Účel umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu Použitelnost chování objektu závisí na jeho stavu, který se mění za
Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2009 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 25
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2009 Radek Kočí Seminář Java Návrhové vzory 1/ 25 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
Abstract Factory úvod
Abstract Factory Abstract Factory úvod Problém potřebujeme vytvářet objekty ze skupiny souvisejících tříd skupin je více, chceme je snadno vyměňovat můžeme používat (v jednom kontextu) pouze jednu skupinu
Source Defender. PPJ semestrální projekt. Martin Přeták, ARI
Source Defender PPJ semestrální projekt Martin Přeták, ARI Source Defender je dynamická střílečka pro jednoho až dva hráče. Hráč má za úkol nabít všechny generátory kolem zdroje a ty pak nabité udržet
PB161 Základy OOP. Tomáš Brukner
PB161 Základy OOP Tomáš Brukner Sylabus - Co je to OOP? Jaké jsou základní principy OOP? Jak se projevují v C++? https://cs.wikipedia.org/wiki/strahovská_knihovna SELECT * FROM books WHERE pages < 250
George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu
A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,
Semin aˇr Java N avrhov e vzory Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Duben 2008 Radek Koˇc ı Semin aˇr Java N avrhov e vzory 1/ 24
Seminář Java Návrhové vzory Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Návrhové vzory 1/ 24 Znovupoužitelnost Dědičnost implementace třídy pomocí jiné (již existující)
specifikuje vytvářené objekty pomocí prototypické instance nový objekt vytváří kopírováním prototypu
Prototyp Prototyp Účel ( creational kategorie: vytvářecí pro objekty (class specifikuje vytvářené objekty pomocí prototypické instance nový objekt vytváří kopírováním prototypu Příklad obecný systém pro
Struktura třídy, operátory, jednoduché algoritmy, junit. Programování II 2. cvičení Alena Buchalcevová
Struktura třídy, operátory, jednoduché algoritmy, junit 2. cvičení Alena Buchalcevová Cíle cvičení seznámit se s rozhraním (interface) v Javě seznámit se s testováním při vývoji (makety, JUnit) naučit
návrhový vzor Singleton.
KAPITOLA 2 Návrhový vzor Singleton Jazyk PHP 5 vám pomocí klíčových slov public, protected a private umožňuje kontrolovat, kdo získá přístup k určitým atributům a metodám třídy. Dále vám jazyk PHP 5 umožňuje
Kód, který se nebude často měnit
Factory Method Úvod - problém Mějme obchod s auty: public class OrderCars { public Car ordercar(string model) { Car car; Při přidání nového modelu je nutné upravit if(model.equals("mark IV")) car = new
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
Dědičnost. seskupování tříd do hierarchie. potomek získá všechny vlastnosti a metody. provádí se pomocí dvojtečky za názvem třídy.
3. ročník Dědičnost seskupování tříd do hierarchie nadtyp-podtyp potomek získá všechny vlastnosti a metody kromě označených jako private provádí se pomocí dvojtečky za názvem třídy Polymorfismus všude
Architektura. Vedení sesterské dokumentace
Architektura Tým Lorem Ipsum Verze 1.1 29.3.2015 Obsah 1 Kontext...3 1.1 Cíle projektu...3 2 Technologie...3 2.1 Zvolená alternativa tvorby GUI...3 3 Datové schéma...4 4 Navržená architektura...5 4.1 Fyzický
, Brno Připravil: David Procházka Návrhové vzory
7. 10. 2010, Brno Připravil: David Procházka Návrhové vzory Základy objektově orientovaného návrhu Design Patterns NV (Design patterns) můžeme s nadsázkou označit za ntu, jak řešit určitý problém nejen
Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce
Interpreter Interpreter Motivace Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce Příklad: zda daný textový řetězec odpovídá nějakému vzoru (match)
Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů
Infrastruktura UML v UML Karel Richta listopad 2011 Richta: B101TMM - v UML 2 Superstruktura UML Směr pohledu na systém dle UML Diagramy popisující strukturu diagramy tříd, objektů, kompozitní struktury,
Semináˇr Java X J2EE Semináˇr Java X p.1/23
Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,
Uživatelská rozhraní 10. cvičení. Martin Němec A
Uživatelská rozhraní 10. cvičení Martin Němec A1047 +420 597 324 438 Úvod do Qt GUI toolkit Qt (cute) Samostatná knihovna společnosti TrollTech. Podpora platforem Windows, Linux, Mac. Vzhled i chování
DOCUMENT SOLUTION. T-Doc
DOCUMENT SOLUTION T-Doc Znáte přesné odpovědi na tyto otázky??! Víte, kde vznikají zbytečné náklady a jaké? Víte, kolik tisků a kopií se pořizuje zbytečně a kde? Znáte počet kopírovacích strojů, tiskáren
Quo vadis programování? Automatizace vyhodnocování studentských úloh
Vaše jistota na trhu IT Quo vadis programování? Automatizace vyhodnocování studentských úloh Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Vladimír Oraný vladimir.orany@gmail.com Vaše jistota na trhu IT Obsah
Metodika. Architecture First. Rudolf Pecinovský rudolf@pecinovsky.cz
Copyright Rudolf Pecinovský, Soubor: 2014_Comm_PrW_Architecture First Methodology.doc, verze 1.00.2413, uloženo po 9.6.2014 14:43 1 z 39 Metodika Architecture First Rudolf Pecinovský rudolf@pecinovsky.cz
Jazyk C# (seminář 3)
Jazyk C# (seminář 3) Pavel Procházka KMI October 8, 2014 Motivace Největší využití v programování okenních aplikací a GUI knihoven. Data reprezentujeme pomocí objektů (tříd), máme tedy ucelený pohled na
Jazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
Návrhové vzory Design Patterns
Návrhové vzory Design Patterns doc. Ing. František Huňka, CSc. Ostravská univerzita PřF 1 Definice vzoru Každý vzor popisuje problém, který nastává opakovaně v našem prostředí, a potom popisuje podstatu
Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
Dědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz
IoC/DI Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz SOLID 5 pravidel pro testovatelný kód Na netestovatelném kódu se IoC/DI používá špatně SOLID Single Responsibility Principle Každá třída
Znáte pøesné odpovìdi na tyto otázky??!
T-Doc Znáte pøesné odpovìdi na tyto otázky??! Víte, kde vznikají zbyteèné náklady a jaké? Víte, kolik tiskù a kopií se poøizuje zbyteènì a kde? Znáte poèet kopírovacích strojù, tiskáren a faxù, které jsou
11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9
Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií
Programování II. Polymorfismus
Programování II Polymorfismus Osnova přednášky Vztah přetížení, překrytí a protected přístupu. Co je polymorfismus? Příklad. Přetížení, překrytí, protected Přetížení x překrytí Přetížením řešíme doplnění
Programování v C++ 2, 8. cvičení
Programování v C++ 2, 8. cvičení návrhový vzor iterátor 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí minule procvičené látky
24. listopadu 2013, Brno Připravil: David Procházka
24. listopadu 2013, Brno Připravil: David Procházka Dědičnost Základy objektového návrhu Časná a pozdní vazba Strana 2 / 22 Obsah přednášky 1 Časná a pozdní vazba 2 Rozhraní pro dědičnost 3 Konstruktory
Vývoj multiplatformní aplikace v Qt
Vývoj multiplatformní aplikace v Qt z pohledu vývoje Datovky Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je Qt Nástroje Qt Koncepty Qt Problémy při vývoji Datovky Balíčkování aplikace Datovka
PB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky
Sem vložte zadání Vaší práce.
Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Tvorba formulářů z popisu v XML s použitím knihovny
Literatura. E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995
Návrhové vzory Literatura E. Gamma, R. Helm, R. Johnson, J. Vlissides The Gang of Four (GoF) Design Patterns Elements of Reusable Object-Oriented Software 1995 Grada 2003: Návrh programů podle vzorů J.
Sem vložte zadání Vaší práce.
Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Rezervační komponenta pro informační systém sportovního
Objektově orientované programování
Objektově orientované programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 7: Objektově
Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Spring framework 2.0. Roman Pichlík http://sweb.cz/pichlik/ CZJUG http://java.cz/jug
Spring framework 2.0 Spring framework 2.0 Roman Pichlík http://sweb.cz/pichlik/ Nejdůležitejší slide http://springframework.org/ http://www.springframework.org/documen Historie 2002 - Rod Johnson kniha
VENKOVNÍ ROLETY VENKOVNÍ ROLETA STANDARD...1 PODOMÍTKOVÉ ROLETY...3 ROLETY V OBLÉ SCHRÁNCE...5 ROLETY BE CLEVER A EXTE...7
VENKOVNÍ ROLETY VENKOVNÍ ROLETA STANDARD...1 PODOMÍTKOVÉ ROLETY...3 ROLETY V OBLÉ SCHRÁNCE...5 ROLETY BE CLEVER A EXTE...7 VENKOVNÍ LÁTKOVÉ ROLETY SCREEN...9 VENKOVNÍ LÁTKOVÉ ROLETY VERANDA...10 ~ 1 ~
Analyzátor, minimalizátor kombinačních logických obvodů
Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT Analyzátor, minimalizátor kombinačních logických obvodů Petr Jašek, Pavel Král, Petr Koukolíček SPŠ a VOŠ Jana Palacha
Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control)
Hiearchical MVC (Model-view-controller) vs. PAC (Presentation-abstraction-control) Problém HMVC úvod MVC v určitých aplikacích nedostačující Příklad: webová stránka s widgety Např. kalendář, hodnocení,
Dynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
Využití OOP v praxi -- Knihovna PHP -- Interval.cz
Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování
GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.
GWT pro pokročilé MoroSystems, s.r.o. Pavel Klobása Senior Java Developer pavel.klobasa@morosystems.cz Obsah Co je to GWT? Návrhové vzory a užitečné knihovny Komunikace klient - server ExtGWT GWT+Spring
ČÁST 1. Zahřívací kolo. Co je a k čemu je návrhový vzor 33
Stručný obsah Část 1: Zahřívací kolo Kapitola 1 Co je a k čemu je návrhový vzor 33 Kapitola 2 Zásady objektově orientovaného programování 39 Kapitola 3 Co konstruktor neumí (Jednoduchá tovární metoda Simple
Návrhové vzory. n OO jazyky - široká paleta technických prostředků. n Návrhový vzor. n rozhraní!! n volnější vazby, parametrizace
Návrhové vzory Návrhové vzory n OO jazyky - široká paleta technických prostředků q dědičnost, polymorfismus, šablony, reference, přetěžování,... q problém - jak toto všechno efektivně používat q cíl -
Objekt. základní prvek v OOP. má vlastnosti. má metody. vznikne vytvoření nové instance definován pomocí třídy
3. ročník Objekt základní prvek v OOP má vlastnosti charakterizují objekt (barva, počet osob) má metody definují to, co objekt umí (vypni motor, připoj se) vznikne vytvoření nové instance definován pomocí
Základní informace pro uživatele webových aplikací IISPP 1. Podporované prohlížeče
Základní informace pro uživatele webových aplikací IISPP 1. Podporované prohlížeče Webové aplikace Národního památkového ústavu (NPÚ), sdružené v rámci tzv. Integrovaného informačního systému památkové
Programování v C++ 2, 7. cvičení
Programování v C++ 2, 7. cvičení spojový seznam 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí minule procvičené látky Dědění
Zpracoval: houzvjir@fel.cvut.cz
Zpracoval: houzvjir@fel.cvut.cz 15. Návrhové vzory. Komponentový návrh, volná vazba versus těsná vazba. Oddělení politiky od mechanismu. Doménově specifické jazyky (DSL). (A7B36OMO) Obsah Návrhové vzory...
Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V
Programování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Motivační příklad reálný svět. výroba (assembly line)
Template method Motivační příklad reálný svět n Pásová výroba (assembly line) Motivační příklad SW inženýrství n Otevírání souborů n Třídy Application a Document (+potomci) Motivační příklad SW inženýrství
Chain of responsibility
Chain of responsibility Chain of responsibility n Známý jako n Účel q český překlad řetěz(ec) odpovědnosti q umožnit zasílání požadavků (zpráv) neznámým příjemcům q příjemci tvoří frontu è předávají si
Obsah. Položkování 1: Prefix dřívějších osamocených dílů se zachovává...23 Položkování 2: Editace předběžných čísel...23
Obsah VÍTEJTE V ADVANCE STEEL 2013, ČÁSTÍ ŘEŠENÍ GRAITEC BIM... 5 ADVANCE CAD DOSTUPNÁ 64BITOVÁ PLATFORMA... 6 VYLEPŠENÍ PLATFORMY ADVANCE CAD 2013... 7 NOVÁ PALETA NÁSTROJŮ... 8 MODELOVÁNÍ... 9 Modelování
1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
SMLOUVA O NÁJMU MULTIFUNKČNÍCH SÍŤOVÝCH TISKÁREN
ZADÁVACÍ DOKUMENTACE VEŘEJNÉ ZAKÁZKY Nájem multifunkčních síťových tiskáren PŘÍLOHA Č. 1 Vzorový návrh smlouvy o nájmu multifunkčních síťových tiskáren SMLOUVA O NÁJMU MULTIFUNKČNÍCH SÍŤOVÝCH TISKÁREN
Programování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Restaurator. Semestrání projekt předmětu PDA
Restaurator Semestrání projekt předmětu PDA Restaurator...3 Profil uživatele...3 Akivity...3 Systémová podpora...4 Kontext...4 Prototyp...4 Start systému...4 Start aplikace...6 Manuální zadání pozice pro
Programování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
Viditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo
Viditelnost (práva přístupu) Tomáš Pitner, upravil Marek Šabo Viditelnost Přístup ke třídám i jejim prvkům lze (podobně jako např. v C++) regulovat. Přístupem se rozumí jakékoli použití dané třídy, prvku
NMIN201 Objektově orientované programování 1 / :36:09
NMIN201 Objektově orientované programování 1 / 26 8.10.2013 15:36:09 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat
NPRG031 Programování II 1 / :25:46
NPRG031 Programování II 1 / 26 28. 2. 2018 11:25:46 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat jiné objekty
Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011
Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP
Předmět směrnice. Čl. 2 Základní pojmy, technické pojmy a zkratky
SMĚRNICE Č. 5/2013 PRÁCE UŽIVATELŮ V POČÍTAČOVÉ SÍTI MĚÚ MILOVICE Předmět směrnice (1) Touto směrnicí jsou stanoveny vnitřní pravidla pro a) užívání výpočetní techniky (hardware) a programového vybavení
RMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků
NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast)
NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast) Obsah Návod pro práci se zařízením BenQ Qcast... 3 1. Popis zařízení... 4 2. Jednorázová instalace zařízení... 5 3. Používání zařízení...
Technologie JavaBeans
Technologie JavaBeans doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Historie Komponentový model Typy komponent
Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich
Návrh aplikace Project Westpon Inteligentní simulátor budov Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich . Úvod.. Účel dokumentu Tento dokument má za účel detailně popsat návrh
Úvod - problém. Při přidání nového modelu je nutné upravit. Kód, který se nebu de často měnit. n Mějme obchod s auty:
Factory Method Úvod - problém n Mějme obchod s auty: public class OrderCars { public Car ordercar(string model) { Car car; Při přidání nového modelu je nutné upravit if(model.equals("mark IV")) { car =
Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu
Servlety a JSP Petr Adámek, petr.adamek@ibacz.eu Úvod Rekapitulace vstupních znalostí Standardy Nástroje (Běhové prostředí, nástroje pro vývoj) Servlety JSP JSP značky EL (Expression Language) Internacionalizace
IB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
Rychlý průvodce Barbone Boss. Prohlídka notebooku Barbone Boss. Pohled zepředu
Rychlý průvodce Barbone Boss V tomto rychlém průvodci naleznete užitečné informace a seznámíte se s tím, jak zařízení vypadá a funguje. Průvodce je rozdělen do několika částí podle toho, kterou oblast
Programování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
Programování v C++ 1, 5. cvičení
Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědění 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 3 Shrnutí minule procvičené
Venkovní terénní úpravy
Čj. 374/2012/DP-ÚVN Odůvodnění veřejné zakázky podle 156 odst. 1 zákona č. 137/2006 Sb., o zadávání veřejných zakázek pro veřejnou zakázku na dodávky Venkovní terénní úpravy ZADAVATEL: Ústřední vojenská
Základní programové vybavení počítače
Základní programové vybavení počítače BIOS BIOS (Basic Input Output System) Program zabudovaný do osobních počítačů (konkrétně je součástí základní desky). Při zapnutí počítače spustí operační systém.
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,
MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.
MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) IT SYSTEMS a.s. Mnoho společností má implementovány aplikace, které byly vyvíjeny (případně
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Programovací jazyky Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 3 Číslo: V/5 Programování
Vzor Továrna - Factory
1 SW_07 Návrhový vzor: Továrna - Factory 1. Jednoduchá továrna - Simple Factory 2. Tovární metoda - Factory Method 3. Abstraktní továrna - Abstract Factory Vzor Továrna - Factory 2 Kontext: při vytváření
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-303 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština