Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC - Presentation Transcript

    1. Applying Domain Driven Design on Asp.net MVC Mohamed Meligy
    2. Agenda  ASP.NET MVC, The Steps  Model, Controller, View  Why ASP.NET MVC  Domain, AKA, Model  The Domain Model  The Ubiquitous Language  Building Blocks  Entities / Value Objects  Aggregates / Factories  Repositories  Services / Modules  Putting it all together
    3. Model View Controller ASP.NET MVC – Form few thousand feet …
    4. ASP.NET Futures Themes  Webforms  AJAX  MVC  Dynamic Data  Feature Sharing  Webforms with AJAX  Dynamic Data with MVC …  jQuery
    5. M – V – C, The Steps … Routing Request Forward Step 0 Incoming request matched by Routing
    6. M – V – C, The Steps … Controller Request Step 1 Incoming request directed to Controller
    7. M – V – C, The Steps … Controller Request Model Step 2 Controller processes request and forms a data Model
    8. M – V – C, The Steps … Controller Request View Step 3 Model is passed to View
    9. M – V – C, The Steps … Controller Request View Step 4 View transforms Model into appropriate output format
    10. M – V – C, The Steps … Controller Request View Response Step 5 Response is rendered
    11. The ASP.NET MVC Building Blocks Simply creating a new project
    12. The model  The class that needs to be presented, or processed  Can be bound in controller  Model Binders  Can live anywhere in your solution
    13. The Controller  A set of action methods that share a common Controller context  … which is different from HTTP context   An action: 1. Receives the request parameters 2. Creates any required model (user, etc..) 3. Calls services or repositories to execute data or get the models to be displayed 4. Selects the view and sends the model to it, with any additional info (like page title, …)
    14. The ASP.NET MVC Building Blocks ROUND TWO !!
    15. The View  Just renderer  No logic should go there  Page lifecycle ?  Yes and No!  Code Behind exists but not recommended  No View State, No Server Controls  Really?  HTML Helpers  Takes the view data from the controller  Can be typed or Dictionary of values  Not Just Web forms code  View Engines
    16. View Engines Web forms • The default option • Comes with VS • Same experience: • Syntax • VS Support
    17. View Engines NHAML • Based on Ruby On Rails HAML Engine • http://code.google.com/p/nhaml • http://andrewpeters.net/2007/12/19/introducing-nhaml-an-aspnet-mvc-view-engine engine
    18. The webforms view Engine From ASP.NET MVC source code
    19. Why Oh, WHY !!!  Easier …  Tight control over markup  User/SEO friendly URLs  Conventions and Guidance  jQuery (Built-in)  Tight control: Not just markup  Everything is replaceable  Interface based style  Not full with sealed/internal stuff   Testability  The guys who created it are just awesome   94% Code Coverage/1051 unit tests
    20. The other side of the story  It’s not as easy as you think!  To go low level or not to go; this IS the question.  IIS 6 Quirks  Custom Controls
    21. Where to go  Official website http://asp.net/mvc  Source Code http://codeplex.com/aspnet  Blogs  The ASP.NET MVC Team  Scott Guthrie http://weblogs.asp.net/scottgu  Rob Conrey http://blog.wekeroad.com  MVC Store Front http://blog.wekeroad.com/mvc-storefront  Phil Haack http://haacked.com  Scott Hanselman http://hanselman.com  Stephen Walthler http://weblogs.asp.net/stephenwalther  http://www.chrisvandesteeg.nl  http://www.singingeels.com
    22. http://weblogs.asp.net/meligy

    + Mohamed_MeligyMohamed_Meligy, 12 months ago

    custom

    3790 views, 0 favs, 5 embeds more stats

    An introduction to ASP.NET MVC beta, in order to le more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3790
      • 3480 on SlideShare
      • 310 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 104
    Most viewed embeds
    • 260 views on http://weblogs.asp.net
    • 47 views on http://geekswithblogs.net
    • 1 views on res://ieframe.dll
    • 1 views on https://geekswithblogs.net
    • 1 views on http://209.85.129.132

    more

    All embeds
    • 260 views on http://weblogs.asp.net
    • 47 views on http://geekswithblogs.net
    • 1 views on res://ieframe.dll
    • 1 views on https://geekswithblogs.net
    • 1 views on http://209.85.129.132

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories