+ All Categories
Home > Education > INPTP Rekapitulace

INPTP Rekapitulace

Date post: 19-Feb-2017
Category:
Upload: jan-hridel
View: 57 times
Download: 0 times
Share this document with a friend
23
INPTP rekapitulace zs 2016/17
Transcript
Page 1: INPTP Rekapitulace

INPTPrekapitulace zs 2016/17

Page 2: INPTP Rekapitulace

Rozšiřující metody

Jedná se o zvláštní druh statické metody, která je volána, jako kdyby se jednalo o nestatickou metodu. Pro uživatele není žádný rozdíl mezi voláním rozšiřující a nestatické metody.

Syntaxe

deklarace prvního parametru rozšiřující metody:

this typ identifikátor

Page 3: INPTP Rekapitulace

Odložené vykonávání

Metody, které vrací sekvenci, jako např. metoda Where, implementují tzv. odložené vykonání (angl. deferred execution).

Tyto metody pouze vrací instanci nějaké třídy, která obsahuje informace potřebné k provedení příslušné akce.

Akce je vykonána až při volání metody GetEnumerator přímo nebo prostřednictvím cyklu foreach. Vykonání akce se provede znovu při každém volání metody GetEnumerator.

Page 4: INPTP Rekapitulace

Řazení

Pro seřazení sekvence vzestupně slouží metoda OrderBy.

Metoda seřadí zadanou sekvenci podle klíče, který poskytuje zadaný delegát. Klíče porovnává pomocí vlastnosti Default třídy Comparer<TKey>.

Page 5: INPTP Rekapitulace

Deklarace proměnné bez udání typu

Lokální proměnnou lze deklarovat bez udání typu. Místo označení typu lze použít klíčové slovo var. Jedná se o tzv. deklaraci implicitně typové lokální proměnné.

Syntaxe:

var identifikátor inicializace;

Page 6: INPTP Rekapitulace

Anonymní typ

Anonymní typ slouží k zapouzdření množiny vlastností určených pouze pro čtení do instance nepojmenované třídy. Jméno typu je generováno překladačem a není ve zdrojovém kódu přístupné.

var osoba = new { Jmeno = "Josef", Vek = 10*2 };

Page 7: INPTP Rekapitulace

Technologie LINQ

Dotazovací jazyk pro získání potřebných dat z určitého zdroje (databáze, XML soubory, kolekce v paměti, …)

Integrovány přímo do programovacího jazyka

● Kontrola už v době překladu.

Page 8: INPTP Rekapitulace

Technologie LINQ - syntaxe, ukázka

int maximum = (from cislo in cisla where cislo % 2 == 1 orderby cislo select cislo).Max();

List<int> lichaCislaList = (from cislo in cisla where cislo % 2 == 1 orderby cislo select cislo).ToList();

Page 9: INPTP Rekapitulace

Technologie LINQ - doporučení

Doporučuje se, aby jméno dotazovací proměnné obsahovalo slovo „query“, např. lichaCislaQuery zatímco proměnné, které neobsahují dotaz, ale skutečnou hodnotu, nemají obsahovat ve svém jménu slovo „query“.

Page 10: INPTP Rekapitulace

Pravidla pro psaní metod

1. Měly by být malé!2. Měly by být ještě menší!

Page 11: INPTP Rekapitulace

ADO.NET

ADO.NET (Microsoft ActiveX Data Objects .NET) představuje množinu tříd nabízejících služby pro přístup k datům a tvorbu databázových aplikací. Daty máme nyní na mysli převážně informace uložené v databázích. Ať již se jedná o data v databázích například na Microsoft SQL Serveru či data zpřístupněná přes OLE DB nebo XML. Mezi jeho přednosti patří především jednoduchý způsob použití, rychlost při zpracování a další. Stačí vytvořit spojení se serverem, s kterým budeme chtít pracovat, pomocí zvoleného adaptéru a zadaného dotazu získat z databáze data a ty pak načíst do některé z připravených konstrukcí pro práci s daty z tabulek.

Page 13: INPTP Rekapitulace

WPF animace

● Generátor hodnot, které jsou postupně přiřazovány některé z vlastností kontroly.

● Animovat můžeme pouze vlastnosti typu DependencyProperty.

Page 14: INPTP Rekapitulace

Vlastnosti WPF animací

● From – počáteční hodnota.● To – koncová hodnota.● Duration – délka animace ve formátu

„hh:mm:ss“● AutoReverse – vlastnost říkající, jestli se

má provést animace po dokončení ještě jednou ale obráceně.

● RepeatBehivior – počet opakování („2x“, „3x“, …, „Forever“).

● Storyboard.TargetProperty – animovaná vlastnost.

● Storyboard.TargetName – název cílového elementu.

Page 15: INPTP Rekapitulace

Typy WPF animací

● Základní● Frame● Path

Page 16: INPTP Rekapitulace

WPF styly

● Obdoba CSS u webových stránek.● Definují se v párovém elementu <Style>.● Element <Setter> nastavuje vlastnosti kontroly.

Page 17: INPTP Rekapitulace

Co to je ASP.NET MVC?

Technologie pro tvorbu sofistikovaných webových aplikací.

● Založeno na návrhovém vzoru Model-View-Controller● Umožňuje rychlý agilní vývoj● Využití nejnovějších webových standardů

Page 18: INPTP Rekapitulace

ASP.NET MVC 5 - routování

Url adresy neobsahují adresu fyzického souboru, jako např.:

http://server/application/Products.aspx?id=4

Ale požívají “url patterns”:

Adresa: http://server/application/Products/show/beveragesodpovídá vzoru: server/application/{area}/{action}/{category}

>> čitelnější i pro lidi

>> router se pak stará o správný překlad url (podle šablony) na fyzický soubor (controller) a příslušnou metodu a s příslušnými parametry

Page 19: INPTP Rekapitulace

ASP.NET MVC 5 - Razor templates

Page 20: INPTP Rekapitulace

ASP.NET MVC 5 - Razor templates

Znak @

Začínají jím bloky kódu

<!-- Single statement blocks -->

@{ var total = 7; }

@{ var myMessage = "Hello World"; }

<!-- Inline expressions -->

<p>The value of your account is: @total </p>

<p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->

@{

var greeting = "Welcome to our site!";

var weekDay = DateTime.Now.DayOfWeek;

var greetingMessage = greeting + " Today is: " +

weekDay;

}

<p>The greeting is: @greetingMessage</p>

Page 21: INPTP Rekapitulace

Aplikace s více podprocesy

▪ Nejspolehlivější způsob vytvoření aplikace s více podprocesy je použít komponentu BackgroundWorker (viz dále).

▪ Pro větší kontrolu nad chováním podprocesů a aplikace, můžeme podprocesy spravovat sami.▪ Třída Thread

Page 22: INPTP Rekapitulace

Třída ThreadPool

▪ Vytvoření a rušení podprocesu pomocí třídy Thread je časově náročné. Proto modul CLR nabízí fond již vytvořených pracovních podprocesů k okamžitému použití. Tento fond je přístupný prostřednictvím třídy ThreadPool.

▪ Po ukončení pracovního podprocesu se tento podproces vrátí zpět do fondu k opakovanému použití. Pokud je fond podprocesů vyčerpaný, operace požadující své spuštění, je zařazena do fronty a čeká, dokud se některý podproces nevrátí zpět do fondu.

Page 23: INPTP Rekapitulace

Třída ThreadPool

▪ Maximální a minimální počet podprocesů▪ Pro každý proces je k dispozici samostatný fond podprocesů. Počet operací, které čekají ve frontě

na uvolnění podprocesu z fondu, není omezen, resp. je limitován pouze operační pamětí počítače. Fond podprocesů limituje počet současně aktivních (běžících) podprocesů. Od verze .NET 4.0 implicitní maximální velikost fondu podprocesů závisí na několika faktorech, např. velikosti virtuálního adresového prostoru. Tuto velikost je možné zjistit nebo nastavit voláním metod:▪ void GetMaxThreads(out int workerThreads, out int completionPortThreads)▪ bool SetMaxThreads(int workerThreads, int completionPortThreads)

▪ Kódy: https://goo.gl/jwihA2


Recommended