Ann Arbor Give Camp 2008

clock July 8, 2008 18:25 by author Ryan Montgomery

Developers! DBAs! Designers! This Friday I'm driving over to Washtenaw Community College in Ann Arbor, MI to participate in the Ann Arbor Give Camp. What is a "Give Camp" you ask.

A Give Camp is a weekend-long event where software developers, designers, and database administrators donate their time to create custom software for non-profit organizations.

The weekend of true RAD is finally upon us. I'm also curious to see who I'm paired up with, and what technologies/methodologies we'll end up using. The weekend starts around 5pm and winds down Sunday at 3pm. It's basically a weekend of camping/lan party/volunteering/open spaces/not sleeping all rolled into one event. Oh Joy!

So if you have some time to spare, why not spend it creating cool apps, with cool people, for cool organizations. (Did I mention the free food and XBox's for downtime?)

Don't forget to register!



S#arp Architecture

clock June 10, 2008 18:18 by author ryan montgomery

I've been working with NHibernate and Spring.NET recently on a project and have had to struggle with learning these new technologies of which I had no experience with before. I think I've reached that point where I 'get it' and now I'm able to implement real business value, which is the general purpose of all frameworks.

Taking these frameworks a step further, S#arp Architecture, pronounced 'Sharp' Architecture, makes working with NHibernate, Spring.NET, and ASP.NET MVC even easier! One thing S#arp Architecture provides is a Generic DAO which enables your custom DAO's (Customer, Order, etc.) to remain very light, as they only need provide implementation code when doing more than Save, Update, or Delete. The example below shows a CustomDAO which can Save, Update, SaveOrUpdate, Delete, etc... The only "special" method is the FindByCountry method.

S#arp Architecture Generic DAO in action.

1 public class CustomerDao : GenericDaoWithTypedId<Customer, string>, ICustomerDao 2 { 3 public List<Customer> FindByCountry(string countryName) 4 { 5 ICriteria criteria = Session.CreateCriteria(typeof(Customer)) 6 .Add(Expression.Eq("Country", countryName)); 7 8 return criteria.List<Customer>() as List<Customer>; 9 } 10 }