- Jürgen Bayer
Tuhle knihu napsal opravdu profesionál, který nejen
ví, co to je programování v C#, ale také zná
platformu .NET a její temná zákoutí. Kniha obsahuje
nějakých 320 řešených úloh, samozřejmě se stručným
vysvětlením, proč to funguje právě takhle. Záběr této
knihy je opravdu široký.
Jednotlivé kapitoly ukazují řešení různých situací
pří práci s datem a časem, při konfiguraci aplikace,
využívání nástrojů pro práci s procesy a službami,
používání XML, různé triky s formuláři a ovládacími
prvky, zpracování multimediálních souborů, ovládání
počítače promocí rozhraní WMI, kreslení pomocí
rozhraní GDI+, využívání objektů COM v aplikacích pro
.NET, využívání internetových protokolů, jako jen
FTP, a mnohé další.
Výčet toho, co v knize je, mi připadá nudný, a tak
bude možná zajímavější říci, co v této knize
nenajdeme: Chyběly mi tu mimo jiné příklady
distribuovaných aplikací (jako jsou webové služby a
.NET remoting), příklady aplikací založených na
ASP.NET, příklady databázových technik využívajících
pokročilejších vlastností knihovny ADO.NET (i když
kniha obsahuje kapitolu věnovanou databázím),
příklady na zabezpečení a další. Zřejmě se nevešly do
předepsaného rozsahu edice.
Podívejme se na některá témata podrobněji.
Autor využívá ve svých řešeních knihoven platformy
.NET opravdu na doraz. Když na to přijde, neváhá
volat funkce z Win32 API, takže se jen tak mimochodem
naučíme dělat v C# takové triky, jako bylo klasické
„hákování“ (hooking) – náhrada standardních
systémových funkcí vlastními, nebo změnit systémovou
nabídku okna. Problém je, že chcete-li takováto
řešení vymýšlet sami, musíte API Windows znát, a to
do poměrně velké hloubky, neboť se hodí jen pro
poměrně pokročilé a záludné úlohy; běžné věci lze
totiž řešit v .NET daleko elegantněji.
Kapitola věnovaná datu a času rozebírá takové
úlohy, jako je zjištění názvu dne podle data, výpočet
prvního a posledního dne v měsíci, zjištění
pořadového čísla kalendářního týdne podle ISO atd.
Mezi lahůdky patří výpočet data velikonoc v zadaném
roce; jak asi víte, je to první neděle po prvním
jarním úplňku v zeměpisné šířce Jeruzaléma.
V této knize sice nenajdeme zvláštní kapitolu
věnovanou lokálnímu nastavení, ale některá řešení –
například právě pokud jde o práci s datem a časem –
jsou na lokálních zvyklostech závislá. Příkladem může
být řešení poskytující seznam německých svátků, a to
s ohledem na to, zda se jedná o svátky platné
celostátně nebo jen v některých spolkových zemích.
Takovéto příklady byly při překladu do češtiny
pochopitelně nahrazeny odpovídajícími programy pro
české prostředí; na přiloženém CD ovšem najdete i
původní verzi příkladu.
V kapitole o databázích se autor zaměřil na využití
knihovny ADO.NET, na MS SQL Server a na práci s
komponentou DataGridView. Vedle řešení, založených na
využití tříd ADO.NET a jazyka SQL, zde najdeme i
řešení založená na objektech SMO (Server Management
Objects), které se instalují zároveň se serverem.
Vzhledem k rozsahu problematiky databází je to ovšem
jen velice skromná kapitola.
V kapitole věnované systému se naučíme pracovat se
systémovými složkami, zjistit verzi Windows, rychlost
procesoru, zjistit informace o sériových rozhraních
systému a mnohé další.
Upřímně řečeno, je to kniha,
která mi opravdu chyběla natolik, že když vyšlo první
vydání německého originálu (ještě pro .NET 1.1),
opatřil jsem si ho, i když němčina není zrovna můj
oblíbený jazyk. Na překladu druhého vydání do češtiny
jsem pak spolupracoval jako odborný korektor, takže
jsem si ji opravdu užil. Jen doufám, že autor napíše
časem další verzi pro novější verze platformy .NET.
autor recenze M. Virius