BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News S#arp Lite: S#arp Architecture Simplified To Its Essentials

S#arp Lite: S#arp Architecture Simplified To Its Essentials

This item in japanese

Bookmarks

Billy McCafferty, one of the creators of S#arp Architecture, recently announced S#arp Lite. The new framework is an effort to scale back to just the essential parts of S#arp Architecture, and make it more accessible to all developers.

S#arp Architecture is a framework for developing ASP.NET MVC applications using NHibernate. It focuses on ease of maintenance, domain-driven design, and scalability. According to McCafferty, one of the downsides of building an application with S#arp Architecture is the steep learning curve:

To many, S#arp Architecture is simply too big of an architectural framework to easily get your head around. When I used to discuss S#arp Architecture with teams who were considering using it, I would always suggest that their developers be very experienced and well versed with topics such as dependency inversion, low-level NHibernate, and domain-driven design. The reality of business is that it's not likely that your team will be made up of all senior level developers who are all experts in these topics.

S#arp Lite reduces S#arp Architecture to its absolute essentials. It includes a project template set up to connect to a database via NHibernate, a set of reusable class libraries, a base repository, and a sample project. The base repository only includes the methods Get, GetAll (returning IQueryable, which can be further manipulated using LINQ queries), SaveOrUpdate, and Delete.

McCafferty says that one of the main goals with S#arp Lite was to stick to the architecture of the original project. However, a few things had to change in order to keep S#arp Lite as scaled-back as possible:

  • controllers have been moved from .Web.Controllers to .Web, as part of the presentation layer
  • an .Init project was added to remove initialization-related dependencies from .Web
  • the .NHibernate layer is greatly reduced (and could even potentially be replaced with EntityFrameworkProvider).

For more details on the structure of S#arp Lite, please refer to S#arp Lite: The Basics. The framework is available for download from GitHub.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • This was really required...!!

    by Ajay Jadhav,

  • EF 4.1 support

    by Ajay Jadhav,

    • This was really required...!!

      by Ajay Jadhav,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      From last few months I was thinking about SharpArchitecture adoption in my organization and found that people are reluctant to use it due the steep learning curve.

      I am very happy to see this version which has essential things required to just kick off my project easily.

    • EF 4.1 support

      by Ajay Jadhav,

      Your message is awaiting moderation. Thank you for participating in the discussion.

      We have customized S#arp Architecture to use with EF 4.0 and with some issues I think we have successfully done it for a medium sized project which is in production now.

      EF 4.1 support for S#arp Lite is a MUST TO HAVE thing now. I there are plans to do, would like to contribute whatever I can.

      Thanks again for this great work.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT