YoutubeDownloader

Na svém soukromém projektu, který vyvíjím v jazyce C# pod frameworkem WPF, mám příležitost zdokonalit své dovednosti v objektově orientovaném programování (OOP) a prozkoumat různé návrhové vzory. Hlavně tedy MVVM architekturu, díky které je zdrojový kód přehlednější a lípe udržovatelný. Tento projekt je pro mě skvělou příležitostí k prohloubení mých znalostí a zkušeností s moderními technikami a postupy vývoje softwaru.

Obrázek spuštěné aplikace
Hlaví okno aplikace

Jedním z klíčových prvků mého projektu je použití návrhových vzorů. Kromě základních OOP principů, jako je dědičnost, zapouzdření a polymorfismus. Zaměřil na sofistikovanější návrhové vzory, které mi pomáhají zlepšit strukturu a udržovatelnost kódu. Používám například vzor Singleton pro správu globálních stavů aplikace.

Obrázek základní knihovny pro práci s API Youtube
Základní knihovna pro práci s API Youtube

V rámci projektu také integruji API třetích stran, konkrétně Google API. Použití Google API mi umožňuje přidat do aplikace pokročilé funkce, jako je interakce s API Youtube. Tato interakce vyžadovala porozumění principům RESTful API a zpracování JSON dat, což mi poskytuje cenné zkušenosti s prací s externími službami a jejich integrací do vlastních aplikací.

Výstřižek z kódu jako pozadí
Náhled do třídy

Jedním z nejdůležitějších aspektů mého projektu je použití vzoru Model-View-ViewModel (MVVM). Tento vzor mi umožňuje oddělit obchodní logiku (Model) od prezentace (View) a usnadňuje tak testování a údržbu kódu. ViewModel funguje jako prostředník, který zajišťuje komunikaci mezi modelem a zobrazením. Toto oddělení logiky a prezentace mi umožňuje vytvářet, na mé poměry, čistý a strukturovaný kód, který je snadno testovatelný a rozšiřitelný. Díky MVVM jsem schopen implementovat datové vazby a příkazy, které zjednodušují interakci uživatele s aplikací.

Obrázek IDE hlavního okna
Základní knihovna pro práci s API Youtube

Celkově mi tento projekt poskytuje vynikající příležitost prohloubit mé znalosti a dovednosti v jazyce C# a WPF. Učím se efektivně používat návrhové vzory, integrovat API třetích stran a implementovat vzor MVVM. Tyto zkušenosti mi pomáhají nejen zlepšit kvalitu mého kódu, ale také zvyšují moji schopnost navrhovat a vyvíjet složité a udržovatelné aplikace.