• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Applying Domain Driven Design on Asp.net MVC – Part 1: Asp.net MVC
 

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

on

  • 14,637 views

An introduction to ASP.NET MVC beta, in order to leverage this in a later session with the Domain Driven Design concepts.

An introduction to ASP.NET MVC beta, in order to leverage this in a later session with the Domain Driven Design concepts.

Statistics

Views

Total Views
14,637
Views on SlideShare
13,523
Embed Views
1,114

Actions

Likes
4
Downloads
290
Comments
0

12 Embeds 1,114

http://gurustop.net 652
http://weblogs.asp.net 313
http://www.slideshare.net 57
http://geekswithblogs.net 48
http://www.techgig.com 31
http://www.linkedin.com 5
http://coderwall.com 2
https://www.linkedin.com 2
https://geekswithblogs.net 1
http://209.85.129.132 1
res://ieframe.dll 1
http://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Applying Domain Driven Design on Asp.net MVC Mohamed Meligy
    • 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
    • Model View Controller ASP.NET MVC – Form few thousand feet …
    • ASP.NET Futures Themes  Webforms  AJAX  MVC  Dynamic Data  Feature Sharing  Webforms with AJAX  Dynamic Data with MVC …  jQuery
    • M – V – C, The Steps … Routing Request Forward Step 0 Incoming request matched by Routing
    • M – V – C, The Steps … Controller Request Step 1 Incoming request directed to Controller
    • M – V – C, The Steps … Controller Request Model Step 2 Controller processes request and forms a data Model
    • M – V – C, The Steps … Controller Request View Step 3 Model is passed to View
    • M – V – C, The Steps … Controller Request View Step 4 View transforms Model into appropriate output format
    • M – V – C, The Steps … Controller Request View Response Step 5 Response is rendered
    • The ASP.NET MVC Building Blocks Simply creating a new project
    • The model  The class that needs to be presented, or processed  Can be bound in controller  Model Binders  Can live anywhere in your solution
    • 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, …)
    • The ASP.NET MVC Building Blocks ROUND TWO !!
    • 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
    • View Engines Web forms • The default option • Comes with VS • Same experience: • Syntax • VS Support
    • 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
    • The webforms view Engine From ASP.NET MVC source code
    • 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
    • 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
    • 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
    • http://weblogs.asp.net/meligy