ASP.NET MVC4 + NoSQL = Major Awesomness
IoC Container
Vad menas egentligen? <ul><li>public class UserService </li></ul><ul><li>{ </li></ul><ul><li>     UserRepository _repos; <...
ADO.NET <ul><ul><li>99% runtime fel </li></ul></ul><ul><ul><li>DataSets & DataTables </li></ul></ul><ul><ul><li>Databas-sp...
ORM-lager <ul><ul><li>99% kompileringsfel </li></ul></ul><ul><ul><li>Mycket &quot;magiskt&quot; </li></ul></ul><ul><ul><li...
NoSQL Dina klasser ÄR databasen  = all tid läggs på utveckling ps: dokument = tabell KeyValue / Document / Graph
NoSQL - RavenDB <ul><ul><li>Utvecklad av nhibernate-skaparen  </li></ul></ul><ul><ul><li>Använder som standard Esent </li>...
Bloggexempel - klasser <ul><li>class Blog </li></ul><ul><li>{ </li></ul><ul><li>public string Id { get; set; } </li></ul><...
Bloggexempel - json <ul><li>blogs = [{ </li></ul><ul><li>&quot;Id&quot;: &quot;blogs/1&quot;, </li></ul><ul><li>&quot;Auth...
Sharding
RavenDb.ToCode()
ASP.NET MVC4 <ul><li>I detta seminarie: </li></ul><ul><ul><li>Stöd för mobiler </li></ul></ul><ul><ul><li>Recepies </li></...
ASP.NET MVC Dependency-Resolver ModelMetadata Provider ModelValidator Provider ActionFilter Controller Activator ActionRes...
Bundles <ul><li>För styleheets och scripts </li></ul><ul><ul><li>Slår ihop (javascript1.js + .. + javascript32.js = bigfat...
Recipies <ul><ul><li>Förenkla vanligt förekommande uppgifter i MVC </li></ul></ul><ul><ul><ul><li>Egen vy-wizard anpassad ...
Anpassning för mobiler <ul><ul><li>Specifika vyer/layouter för mobiler </li></ul></ul><ul><ul><ul><li>Kan anpassa per mobi...
K O D
Tack! <ul><li>Jonas Gauffin </li></ul><ul><li>Sogeti </li></ul><ul><li>[email_address] </li></ul><ul><li>http://blog.gauff...
Länkar <ul><li>RavenDB </li></ul><ul><li>http://ravendb.net </li></ul><ul><li>ASP.NET MVC4 </li></ul><ul><li>http://bit.ly...
Upcoming SlideShare
Loading in...5
×

Asp net mvc4_no_sql

609

Published on

Min presentation från Sogeti Inspiration Day gällande ASP.NET MVC4 och RavenDb

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

No Downloads
Views
Total Views
609
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Asp net mvc4_no_sql

  1. 1. ASP.NET MVC4 + NoSQL = Major Awesomness
  2. 2. IoC Container
  3. 3. Vad menas egentligen? <ul><li>public class UserService </li></ul><ul><li>{ </li></ul><ul><li>    UserRepository _repos; </li></ul><ul><li>    public UserService() </li></ul><ul><li>    { </li></ul><ul><li>          _repos = new UserRepository(&quot;myConString&quot;); </li></ul><ul><li>    } </li></ul><ul><li>} </li></ul><ul><li>Går icke att testa eller byta beroende </li></ul>public class UserService {     IUserRepository _repos;     public UserService(IUserRepos repos)     {           _repos = repos;     } } //prod var repos = new UserRepos(&quot;ConStr&quot;); var service = new UserService(repos); var user =service.Create(&quot;Jonas&quot;, &quot;Gauffin&quot;); //test var repos = Mock.Create<IUserRepos>()                       .When(m => m.GetUser)                       .Return(new User(&quot;Pelle&quot;)); var service = new UserService(repos);
  4. 4. ADO.NET <ul><ul><li>99% runtime fel </li></ul></ul><ul><ul><li>DataSets & DataTables </li></ul></ul><ul><ul><li>Databas-specifik kod (både SQL + drivers) </li></ul></ul>Stor del av tiden läggs på SQL-frågor och komma ihåg vad DataSets innehåller
  5. 5. ORM-lager <ul><ul><li>99% kompileringsfel </li></ul></ul><ul><ul><li>Mycket &quot;magiskt&quot; </li></ul></ul><ul><ul><li>Tydliga fel är mycket viktigt </li></ul></ul>Stor del av tiden läggs på mappningarna  och tyda felmeddelanden
  6. 6. NoSQL Dina klasser ÄR databasen  = all tid läggs på utveckling ps: dokument = tabell KeyValue / Document / Graph
  7. 7. NoSQL - RavenDB <ul><ul><li>Utvecklad av nhibernate-skaparen  </li></ul></ul><ul><ul><li>Använder som standard Esent </li></ul></ul><ul><ul><li>BSON för lagring </li></ul></ul><ul><ul><li>Embedded eller standalone </li></ul></ul><ul><ul><li>Sharding </li></ul></ul><ul><ul><li>Inbyggd fritextsökning (Lucene.NET) </li></ul></ul><ul><ul><li>Transaktioner </li></ul></ul><ul><ul><li>Replikering </li></ul></ul>
  8. 8. Bloggexempel - klasser <ul><li>class Blog </li></ul><ul><li>{ </li></ul><ul><li>public string Id { get; set; } </li></ul><ul><li>public string Author { get; set; } </li></ul><ul><li>public string Title { get; set; } </li></ul><ul><li>public string Url { get; set; } </li></ul><ul><li>} </li></ul><ul><li>public class Post </li></ul><ul><li>{ </li></ul><ul><li>public string Id { get; set; } </li></ul><ul><li>public Blog Blog { get; set; } </li></ul><ul><li>public string Title { get; set; } </li></ul><ul><li>public string[] Tags { get; set; } </li></ul><ul><li>public List<Comment> Comments { get; set; } </li></ul><ul><li>} </li></ul>
  9. 9. Bloggexempel - json <ul><li>blogs = [{ </li></ul><ul><li>&quot;Id&quot;: &quot;blogs/1&quot;, </li></ul><ul><li>&quot;Author&quot;: &quot;Jonas Gauffin&quot;, </li></ul><ul><li>&quot;Title&quot;: &quot;jgauffin's coding den&quot;, </li></ul><ul><li>&quot;Url&quot;: &quot;http://blog.gauffin.org&quot; </li></ul><ul><li>}]; </li></ul><ul><li>posts = [{ </li></ul><ul><li>&quot;Id&quot;: &quot;posts/1&quot;, </li></ul><ul><li>&quot;BlogId&quot;:         &quot;blogs/1&quot;, </li></ul><ul><li>&quot;Title&quot;:         &quot;First post&quot;, </li></ul><ul><li>&quot;Tags&quot;: [&quot;code quality&quot;, &quot;architecture&quot;, &quot;asp.net-mvc&quot;], </li></ul><ul><li>&quot;Comments&quot;: [{ </li></ul><ul><li>&quot;Title&quot;: &quot;Your blog is awsome!&quot;, </li></ul><ul><li>&quot;Comment&quot;: &quot;Thank you Jonas! Your blog is my favorite.&quot; </li></ul><ul><li>}] </li></ul><ul><li>}] </li></ul>
  10. 10. Sharding
  11. 11. RavenDb.ToCode()
  12. 12. ASP.NET MVC4 <ul><li>I detta seminarie: </li></ul><ul><ul><li>Stöd för mobiler </li></ul></ul><ul><ul><li>Recepies </li></ul></ul><ul><ul><li>Bundles </li></ul></ul><ul><li>Annat nytt: </li></ul><ul><ul><li>AsyncControllers + Task </li></ul></ul><ul><ul><li>Senaste Azure SDKn (sep.) </li></ul></ul><ul><ul><li>Async (ASP.NET 4.5) </li></ul></ul><ul><ul><li>WebSockets  </li></ul></ul><ul><ul><li>Prestandaförbättringar </li></ul></ul>
  13. 13. ASP.NET MVC Dependency-Resolver ModelMetadata Provider ModelValidator Provider ActionFilter Controller Activator ActionResult Routing VirtualPath Provider Areas Exception Filter
  14. 14. Bundles <ul><li>För styleheets och scripts </li></ul><ul><ul><li>Slår ihop (javascript1.js + .. + javascript32.js = bigfat.js) </li></ul></ul><ul><ul><li>Minifierar ( STOR blir liten) </li></ul></ul><ul><ul><li>Cachar (&quot;cache is king&quot;) </li></ul></ul>
  15. 15. Recipies <ul><ul><li>Förenkla vanligt förekommande uppgifter i MVC </li></ul></ul><ul><ul><ul><li>Egen vy-wizard anpassad efter företags design </li></ul></ul></ul><ul><ul><ul><li>Controllers som följer företagets mall </li></ul></ul></ul><ul><ul><ul><li>Domänmodel/Vymodell utan mappningsverktyg </li></ul></ul></ul><ul><ul><li>En mer lättviktig integration i Visual Studio </li></ul></ul><ul><ul><ul><li>Skapa GUI wizards </li></ul></ul></ul><ul><ul><ul><li>Wrappar vanliga VStudio SDKn </li></ul></ul></ul>
  16. 16. Anpassning för mobiler <ul><ul><li>Specifika vyer/layouter för mobiler </li></ul></ul><ul><ul><ul><li>Kan anpassa per mobil (User-Agent) </li></ul></ul></ul><ul><ul><ul><li>Letar automatiskt efter korrekt vy </li></ul></ul></ul><ul><ul><ul><li>(_layout.Mobile.cshtml / Index.Mobile.cshtml) </li></ul></ul></ul><ul><ul><li>Kan toggle renderingsläge </li></ul></ul><ul><ul><li>jQuery mobile </li></ul></ul>
  17. 17. K O D
  18. 18. Tack! <ul><li>Jonas Gauffin </li></ul><ul><li>Sogeti </li></ul><ul><li>[email_address] </li></ul><ul><li>http://blog.gauffin.org </li></ul>
  19. 19. Länkar <ul><li>RavenDB </li></ul><ul><li>http://ravendb.net </li></ul><ul><li>ASP.NET MVC4 </li></ul><ul><li>http://bit.ly/tXk6bR  </li></ul>Document Design (NoSQL) http://bit.ly/tn32IU  Griffin.MvcContrib http://bit.ly/tv6o6J 
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×