Sexy infrastruktura

1,425 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,425
On SlideShare
0
From Embeds
0
Number of Embeds
84
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sexy infrastruktura

  1. 1. SEXY INFRASTRUKTURA Jak dostat z nástrojů maximum
  2. 2. Obsah <ul><li>Co je infrastruktura? </li></ul><ul><li>Přístupy k datovému zdroji </li></ul><ul><ul><li>O/RM nástroje </li></ul></ul><ul><ul><li>Tvorba dotazů </li></ul></ul><ul><li>Komponenty a konfigurace </li></ul><ul><ul><li>IoC kontejnery </li></ul></ul><ul><ul><li>Konfigurační DSL </li></ul></ul>
  3. 3. Co je infrastruktura? <ul><li>Přístup k datovým zdrojům </li></ul><ul><ul><li>Databáze </li></ul></ul><ul><ul><li>XML </li></ul></ul><ul><ul><li>Webové služby </li></ul></ul><ul><li>Konfigurace komponent </li></ul><ul><li>Pro aplikaci je důležitá, ale neměly bychom s ní ztrácet čas - měla by nám práci usnadňovat, ne ztěžovat! </li></ul>
  4. 4. Přístup k datovému zdroji <ul><li>Obecně nás nezajímá kam a jak se data ukládají </li></ul><ul><li>IRepository, IQueryable </li></ul><ul><ul><li>IRepository hraje důležitou roli v modelu domény </li></ul></ul><ul><ul><li>Konkrétní implementace je už věc infrastruktury </li></ul></ul><ul><ul><li>ARRepository, SqlRepository, WSRepository… </li></ul></ul>
  5. 5. <ul><li>Přístup k databázi </li></ul>O/R Mapování
  6. 6. NHibernate <ul><li>Opensource se silnou komunitou </li></ul><ul><li>Abstrakce dotazování do databazí </li></ul><ul><ul><li>Dialekty </li></ul></ul><ul><ul><li>Různé druhy Connection </li></ul></ul><ul><li>Mapování přes XML </li></ul><ul><li>Práce v Session </li></ul><ul><li>Virtuální vlastnosti </li></ul>
  7. 7. ADO.NET Entity Framework <ul><li>Součást SP1 pro 3.5 framework </li></ul><ul><li>Abstrakce databázového dotazování </li></ul><ul><li>Silné užití LINQ </li></ul><ul><li>Různé drivery connection </li></ul><ul><li>Visuální nástroj ve VS 2008 SP1 </li></ul>
  8. 8. ActiveRecord <ul><li>Staví nad NHibernate </li></ul><ul><li>OpenSource opět silná komunita (Castle Project) </li></ul><ul><li>Convention over configuration </li></ul><ul><li>Užití atributů k mapování </li></ul><ul><ul><li>Vše na jednom místě </li></ul></ul><ul><ul><li>Nepotřebuješ se učit další XML schéma </li></ul></ul>
  9. 9. Entity Framework vs. NHibernate <ul><li>ADO.NET Entity Framework </li></ul><ul><li>NHibernate </li></ul>
  10. 10. ActiveRecord vs. NHibernate <ul><li>ActiveRecord </li></ul><ul><li>NHibernate </li></ul>
  11. 11. Dotazování <ul><li>NHibernate Criteria </li></ul><ul><ul><li>SQL like, stringy </li></ul></ul><ul><ul><li>Integrální soušást </li></ul></ul><ul><li>NHibernate Query Generator </li></ul><ul><ul><li>Fluent interface pro tvorbu silně typových dotazů </li></ul></ul><ul><li>LINQ 2 NHibernate </li></ul><ul><ul><li>Implementace IQeryable pro NH a AR </li></ul></ul>
  12. 12. Ukázka kódu datazu <ul><li>Criteria </li></ul><ul><li>var users = session.CreateCriteria(typeof(User)). Add(Expression.Like(&quot;Name&quot;, &quot;Fritz%&quot;)). List(); </li></ul><ul><li>Query generator </li></ul><ul><li>var users = User.FindAll(Where.User.Name.StartsWith(&quot;Fritz&quot;)); </li></ul><ul><li>LINQ </li></ul><ul><li>var users = from user in Users            where user.Name.StartsWith(&quot;Fritz&quot;)            select user; </li></ul>
  13. 13. <ul><li>Komponenty a konfigurace </li></ul>IoC kontejnery
  14. 14. IoC a Dependency Injection <ul><li>Jiný způsob myšlení (obráceně) </li></ul><ul><li>Slabá vazba mezi komponentami (rozhranní) </li></ul><ul><li>Jednoduchá rozšiřitelnost </li></ul><ul><li>Snadná výměna komponent </li></ul>
  15. 15. Windsor <ul><li>Součást projektu Castle – silná komunita </li></ul><ul><li>Konfigurace komponent v C# </li></ul><ul><ul><li>Fluent interface </li></ul></ul><ul><ul><li>Nutnost rekompilace </li></ul></ul><ul><li>Konfigurace komponent v XML </li></ul><ul><ul><li>Stačí jen restart aplikace </li></ul></ul><ul><ul><li>Další XML </li></ul></ul>
  16. 16. Spring.net <ul><li>Port z Javy – Spring má silnou pozici </li></ul><ul><li>Konfigurace v C# i XML </li></ul>
  17. 17. Další <ul><li>Ninject </li></ul><ul><li>Unity </li></ul><ul><ul><li>P&P od Microsoftu </li></ul></ul><ul><li>MEF </li></ul><ul><ul><li>budoucí součást .net frameworku </li></ul></ul><ul><ul><li>Od září na něm bude pracovat také autor Windsoru </li></ul></ul><ul><ul><li>Konfigurace pomocí atributů </li></ul></ul><ul><li>Provider pattern </li></ul><ul><ul><li>Známý z ASP.NET </li></ul></ul>
  18. 18. Binsor <ul><li>Konfigurace Windsor v Boo </li></ul><ul><li>Síla skriptovacího jazyku </li></ul><ul><li>bez nutnosti rekompilace </li></ul>
  19. 19. Diskuse a konec

×