2. Introduction –Who Am I?
Model-View-Controller pattern & ASP.NET MVC
NHibernate, Fluent NHibernate & MVCcontrib
The S#arpArchtecture Project
Building a S#arpArchitectureApplication
Summary
Additional Resources
3. 4Years Development Experience
Contributing couple of tech articles at
codetechniques.com, ipowercode.com–
MCTS, MCPD Certifications
4. MODEL – Business logic plus
one or more data sources such
as a relational database.
VIEW –The user interface that
displays information about the
model to the user.
CONTROLLER –The flow-
control mechanism means by
which the user interacts with
the application.
5. ReleasedApril 9, 2009
Alternative to ASP.NETWebForms
Built for testability
User-friendly (and SEO-friendly) URLs
Clear separation of concerns
Lacks rich control set available with
WebForms
Demo – ASP.NET MVC 1.0 Project Structure
6. Object-Relational Mapping
(ORM)Tool
Map data to your domain
objects (.hbm.xml mapping
files)
Manipulate persistent data
Handle transactions and
concurrency
7. An alternative to NHibernate's standard XML
mapping files.
Write mappings in strongly typed C# code.
Benfits:
Refactoring
Readability
Concise
Fluent mapping
Automapping
Fluent database configuration
8. Adds functionality on top of the MVC Framework
UI Helpers
Routing
Filters
View Engines
Lots More…
http://mvccontrib.org
9. Owner & Creator: Billy McCafferty
Project Members
Frank Laub
Simone Busoli
Kyle Baley
Rapidly build maintainable web applications.
LeverageASP.NET MVC, NHibernate and
Spring.NET.
Ignore infrastructure. Focus on domain and
UX.
12. Detailed Documentation in S#arpArchitecture
Reference Guide document.
Software Prerequisites
Visual Studio 2008 SP1
NUnit v2.4.8
T4Toolbox v9.1.20.1
ASP.NET MVC 1.0
InstallVisual Studio S#arpArchitecture Project
Template
Configuring IIS
Demo - Configuration
13. Music Store
Chinook Database 1.1
(www.codeplex.com/ChinookDatabase)
Index will list data for entities
Artists
Albums
Tracks
Playlists
Customers
Invoices
Create/Edit records
Demo – Create the Project
14. Manual Mapping
XML Mapping
Fluent NHibernate
CRUD Scaffolding
Demo – Mapping Data
15. FilteringView Data
Using CustomView Data to Access Multiple
Repositories (Entity Lists)
Support for DifferentView Engines
Add some jQuery flair
Submit via AJAX
Add Edit-in-Place
Add jQuery UI tabs
jQuery Grid Options
Demo – Feature Options
16. Feel free to visit my blog
Follow me on twitter @ ipowercode
Thank you!
17. S#arp Architecture on Google Code: http://code.google.com/p/sharp-architecture/
S#arp Architecture Discussion Group: http://groups.google.com/group/sharp-architecture?pli=1
S#arp Architecture Community Site: http://www.sharparchitecture.net/
S#arp Architecture Wiki: http://wiki.sharparchitecture.net/default.aspx
Billy McCafferty’s Blog: http://devlicio.us/blogs/billy_mccafferty/default.aspx
Virtual ALT.NET S#arp Architecture Presentation – 04/22 @ 10pm: http://twurl.nl/e8i3u0
DimeCasts.NET Episodes by Kyle Baley: http://www.dimecasts.net
Episode #75: Introduction to S#arp Architecture
Episode #97: Another look at Sharp Architecture: Validation, Design Decisions and Automapping
Episode #102:Taking a look at how to modify theT4 templates used by Sharp Architecture
NHibernate Best Practices with ASP.NET:
http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx
Summer of NHibernate Screencast Series: http://www.summerofnhibernate.com/
Rob Conery’s MVC Storefront Project: http://blog.wekeroad.com/mvc-storefront/mvc-storefront-
part-1/
Stephen Walther’s ASP.NET MVC Application Building Series:
http://stephenwalther.com/blog/category/2.aspx
James Gregory’s Blog (Fluent NHibernate): http://blog.jagregory.com/2008/08/08/introducing-
fluent-nhibernate/
Great ASP.NET MVC & NHibernate Bloggers: Phil Haack, Scott Guthrie, Scott Hanselman, Simone
Chiaretta, Keyvan Nayyeri, Nick Berardi, Oren Eini, DerikWhittaker,Tim Barcz, Ben Scheirman,
and more…
18. ASP.NET MVC with
S#arp Architecture
Sandeep Sachan
Email: i@sandeepsachan.com
Website:
www.sandeepsachan.com