Your SlideShare is downloading. ×
Asp net mvc4_no_sql
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Asp net mvc4_no_sql

576
views

Published on

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

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
576
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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