V tomto článku se podíváme na zoubek návrhovému vzoru Visitor a jeho implementaci v C# bez použití i s použitím Reflexe. Tento návrhový vzor patří k těm složitějším a kvůli svému ne úplně šťastně zvolenému názvu je často zdrojem nejasností i pro zkušenější programátory. Domnívám se, že problém často vězí v nepochopení účelu a motivace [...]
Kompilátor nám u staticky typovaných jazyků pomůže odhalit spoustu chyb už při tzv. compile time, nebo-li když ve Visual Studiu stiskneme známou klávesovou zkratku CTRL+SHIFT+B. Kdo se nespokojí pouze s kontrolou typů a chce psát spolehlivější software, kromě kompilátoru užívá automatizovaných testů, především unit-testů. V tomto smyslu by se unit-testy daly chápat jako nadstavba kontroly [...]
Dependency Injection (DI), Dependency Inversion Principle (DIP), Inversion of Control (IoC), Service Locator. Víte jaký je mezi nimi rozdíl? Například na codedeproject.com si můžete přečíst pěkný článek o DI a IoC, ve kterém ale autor řadí Service Locator mezi možné implementace DI, zatímco Martin Fowler, popularizátor DI, to vidí jinak a zapravdu mu dávají i [...]
K tomuto (možná) trochu záhadně nadepsanému článku mne přivedla kniha Dokonalý kód od Steve McConnella a přednáška Doporučené postupy v programování, kterou navštěvuji na MFF. Jedná se o úvahu nad stylem psaní srozumitelného kódu.