blog.stevesindelar.cz
Steves blog - Buzz words okolo dependency injection
http://blog.stevesindelar.cz/buzz-words-okolo-dependency-injection
All you can eat. Buzz words okolo dependency injection. 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. Console.WriteLine("Ahoj, jak se jmenujes? Se ve světě událostmi řízeného programování změní na. Kontrolu nad to...
blog.stevesindelar.cz
Steves blog - Vyúčtování.com
http://blog.stevesindelar.cz/vyuctovani-com
All you can eat. To je šikovné, jen bych doporučil vyúčtování ve formě “ dostane “ spíš než současné “ zaplatí „. Věřitel je přece jenom motivovanější k vyrovnání než dlužník. Krom toho mě napadlo, že pro n osob stačí k finančnímu vyrovnání n-1 transakcí (nemám podloženo důkazem), takže by bylo možné počet transakcí minimalizovat. 16 Srp 2011 at 5.27. Martine, díky za tvoje postřehy. Vyrovnání počítám pomocí eliminace tranzitivních hran v grafu dlužníků. 16 Srp 2011 at 14.22. Comments to this post.
blog.stevesindelar.cz
Steves blog - all you can eat
http://blog.stevesindelar.cz/page/2
All you can eat. České překlady odborných termínů. Psát nebo překládat knihu o programování, jakožto serióznější text než… řekněme článek na blogu, skýtá jedno veliké úskalí. Jak se vypořádat z anglickými termíny, které buďto nemají žádný překlad, nebo jejich překlad ještě není úplně ustálen? More… ». Varování: ORM neboli objektově relační mapování. Pro vás může být Vietnam of computer science. Pečlivě zvažte, zda pokračovat ve čtení. More… ». Buzz words okolo dependency injection. A zapravdu mu dávají i...
blog.stevesindelar.cz
Steves blog - GraphViz pro .NET: generování „pěkných“ grafů ve WPF
http://blog.stevesindelar.cz/graphviz-pro-net-generovani-peknych-grafu-ve-wpf
All you can eat. GraphViz pro .NET: generování „pěkných“ grafů ve WPF. V takovém případě je tu Graphviz4Net. Který umí zpracovat textový výstup GraphVizu a aplikovat informace o layoutu daného grafu na libovolné WPF komponenty. Samotný GraphViz (tedy nikoliv Graphviz4Net) se používá zhruba následovně. Stačí vytvořit textovou reprezentaci grafu, který chceme vizualizovat. K tomuto účelu slouží jazyk DOT. Potom stačí použít utilitu dot, která je součástí GraphViz. Dot -Tpng graph.gv graph.png.
blog.stevesindelar.cz
Steves blog - Pokročilejší regulární výrazy v .NET
http://blog.stevesindelar.cz/pokrocilejsi-regularni-vyrazy-v-net-2
All you can eat. Pokročilejší regulární výrazy v .NET. Pokud jste se někdy setkali s regulárními výrazy v souvislosti s vyhledáním a nahrazením, pak jste pravděpodobně přišli do styku i s pojmenovanými skupinami (named capturing groups). Jak už to bývá syntaxe v tomto směru není jednotná, a proto jsem si připravil pár příkladů na využití této featury v .NET. Nahrazení *textu v hvězdičkách* za b textu v hvězdičkách /b. RegexReplace(sourceString, @" *(? Bold [ *]*) *", @" b ${bold} /b ");. 8220;" )“. Ano, ...
blog.stevesindelar.cz
Steves blog - Kontrakty a unit testy
http://blog.stevesindelar.cz/kontrakty-a-unit-testy
All you can eat. Kontrakty a unit testy. Jak se změní svět unit testování, když začneme používat kontrakty? Pokud to myslíte s unit testy, potažmo TDD, opravdu velmi vážně, pak by pro vás neměla být následující ukázka překvapivá. I ve dvou přiřazeních v konstruktoru se dá teoreticky udělat chyba, třeba je někdo může omylem prohodit. Podívejte se ale pozorně na výše uvedený test. Přijde vám na něm něco zvláštního? Public class Rectangle { public Rectangle(int width, int height) { Contract.Ensures(this...
blog.stevesindelar.cz
Steves blog - Entity Framework Code First a enumy
http://blog.stevesindelar.cz/entity-framework-code-first-a-enumy
All you can eat. Entity Framework Code First a enumy. Už je to nějaká chvíle, co jsme se na blogu Scotta Guthrie mohli dočíst. Spočívá v použití mírně upravené varianty tzv. „ Type safe enum. 8222; Tento vzor spočívá v tom, že třídě, která má být naším „enumem“, skryjeme konstruktor, tak abychom instanci mohli vytvořit jenom „zevnitř“, a „navenek“ nabídneme jenom omezené množství instancí prostřednictvím readonly statických členů. Planet planet1, Planet planet2) { return! Entity Framework by měl třídu Pl...
blog.stevesindelar.cz
Steves blog - Mono.Cecil: How to get all base types and interfaces with resolved generic arguments
http://blog.stevesindelar.cz/mono-cecil-how-to-get-all-base-types-and-interfaces-with-resolved-generic-arguments
All you can eat. MonoCecil: How to get all base types and interfaces with resolved generic arguments. Following code is the result of a discussion. User group. If you don’t know what Mono.Cecil is, this post probably does not contain much information for you. However, you could check out this great library. And maybe come back later. I would also like to thank to Jb Evains for creating and maintaining Cecil. Published nor shared. Required fields are marked *. Seriál o Code Contracts na programujte.com.
blog.stevesindelar.cz
Steves blog - Enterprise Library: konfigurace ve více souborech
http://blog.stevesindelar.cz/entlib-konfigurace-ve-vice-souborech
All you can eat. Enterprise Library: konfigurace ve více souborech. V enterprise aplikacích je třeba postarat se o věci jako je logování, robustní zracování výjimek nebo o nastavení IoC kontejneru. Pokud nechcete psát kompletně vlastní infrastrukturu pro tyto účely, nabízí se MS Enterprise Library. Jak má vypadat formát souboru entlibconfig.xml? Úplně stejně jako App.config nebo Web.config. Tady je ukázka souboru, který obsahuje pouze konfiguraci logovacího bloku. Tento soubor můžete edit...Published nor...
blog.stevesindelar.cz
Steves blog - Návrhový vzor Visitor
http://blog.stevesindelar.cz/navrhovy-vzor-visitor
All you can eat. Nejprve zavedeme jednoduchou terminologii —. Objektu. V následující ukázce je Stream statickým typem objektu „obj“ a FileStream je jeho aktuálním typem. Aktuálním typem objektu „obj“ může být kterýkoliv potomek abstraktní třídy Stream. Stream obj = new FileStream("foo.txt", FileMode.Create); / . změníme aktuální typ: obj = new MemoryStream(/* . */);. Začneme menším kvízem: co bude výstupem následujícího program (nebo-li, která verze metody Foo se zavolá)? Objektu b, tedy je správně vybra...