1 / 19

ASP.NET MVC Development with S#arp Architecture

ASP.NET MVC Development with S#arp Architecture. Alvin Ashcraft Eclipsys Corporation / DZone.com alvin@dzone.com. Session Agenda. Introduction – Who Am I? Model-View-Controller pattern & ASP.NET MVC NHibernate , Fluent NHibernate & MVCcontrib The S#arp Archtecture Project

lbabineaux
Download Presentation

ASP.NET MVC Development with S#arp Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET MVC Development with S#arp Architecture Alvin Ashcraft Eclipsys Corporation / DZone.com alvin@dzone.com

  2. Session Agenda • Introduction – Who Am I? • Model-View-Controller pattern & ASP.NET MVC • NHibernate, Fluent NHibernate & MVCcontrib • The S#arpArchtecture Project • Building a S#arp Architecture Application • Summary • Additional Resources

  3. Introduction – Who Am I? • 14 Years Development Experience • Software Engineer at Eclipsys Corporation – Malvern, PA • Contributing Editor at DZone’s .NET Zone – http://dotnet.dzone.com • MCSD, MCAD, MCDBA, MCSE, MCSA, CompTIAITProject+ Certifications • Microsoft Most Valuable Professional (MVP) – Awarded April 2009 • Alvin Ashcraft’s Morning Dew – http://www.alvinashcraft.com

  4. The Model-View-Controller (MVC) Pattern • 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. ASP.NET MVC 1.0 • Released April 9, 2009 • Alternative to ASP.NET WebForms • 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. NHibernate • Object-Relational Mapping (ORM) Tool • Map data to your domain objects (.hbm.xml mapping files) • Manipulate persistent data • Handle transactions and concurrency

  7. Fluent NHibernate • 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. MVCcontrib Project • Adds functionality on top of the MVC Framework • UI Helpers • Routing • Filters • View Engines • Lots More… • http://mvccontrib.org

  9. The S#arp Architecture Project • Owner & Creator: Billy McCafferty • Project Members • Frank Laub • Simone Busoli • Kyle Baley • Rapidly build maintainable web applications. • Leverage ASP.NET MVC, NHibernate and Spring.NET. • Ignore infrastructure. Focus on domain and UX.

  10. S#arp Architecture Principles • DDD-Focused • Loosely Coupled • Preconfigured Architecture • Open-Ended Presentation • jQuery • Yahoo UI Widgets • ASP.NET AJAX

  11. S#arp Architecture Project Tiers

  12. Configuring the Development Environment • Detailed Documentation in S#arp Architecture Reference Guide document. • Software Prerequisites • Visual Studio 2008 SP1 • NUnit v2.4.8 • T4Toolbox v9.1.20.1 • ASP.NET MVC 1.0 • Install Visual Studio S#arp Architecture Project Template • Configuring IIS • Demo - Configuration

  13. Building a Simple Application - Overview • 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. Mapping the Model to the Data • Manual Mapping • XML Mapping • Fluent NHibernate • CRUD Scaffolding • Demo – Mapping Data

  15. Music Catalog – Feature Options • Filtering View Data • Using Custom View Data to Access Multiple Repositories (Entity Lists) • Support for Different View Engines • Add some jQuery flair • Submit via AJAX • Add Edit-in-Place • Add jQuery UI tabs • jQuery Grid Options • Demo – Feature Options

  16. Reminders! • Fill out your evals • Book & shirt giveaway • After Party @ Shanachie in Ambler • All slides and sample code will be posted to Philly .NET site • Thank our sponsors!

  17. DZone Refcardz Professional Cheat Sheets for Developers! Over 45 titles, get them all FREE at www.refcardz.com Silverlight 2 by Chad A. Campbell Core .NET by Jon Skeet ASP.NET by HolgerSchwichtenberg Design Patterns by Jason McDonald Spring Confirgurationby Craig Walls Windows PowerShellby Bruce Payette jQuery Selectors by Bear Bibealt & Yehuda Katz

  18. Additional Resources • 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 the T4 templates used by Sharp Architecture • NHibernate Best Practices with ASP.NET: http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx • Summer of NHibernateScreencast 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, KeyvanNayyeri, Nick Berardi, Oren Eini, Derik Whittaker, Tim Barcz, Ben Scheirman, and more…

  19. ASP.NET MVC with S#arp Architecture Alvin Ashcraft

More Related