Archive for January 2006
Open Source Tools
I am going to keep listing all of the tools and framework I am using or studying in my daily base. I am big fun of open source projects. I have to salute those great developers. They provide not only the tools which help others to speed up their work, but also the opptunties to share and learn the code each others. I have learned a lot and am keeping learning. It is a wonderful journey for me. I will write down some of my usage experience with those wonderful tools.
- CodeSmith
- NHibernate
- CastleProject
- NUnit
- NAnt
- NMock
- MbUnit (Another very good unit testing tool)
- ReSharper (Must have for refactoring code)
- DotNetTrace (A excellent .NET profiler)
- Spring.NET
Castle ActiveRecord
In my latest project, I am using Castle ActiveRecord as my ORM. I am very happy with the productivity it provides. Castle ActiveRecord is inspired by ActiveRecord in Ruby on Trail. It is built upon nHibernate, a excellent OR mapping tool ported from Java Hibernate. ORM is still a pretty new topic in .NET development. A lot of .NET developers are not comfortable with ORM becasue of dynamic SQL, worrying about its performance. But from my personal experience, I found the performance lag is from reflection most of time, rather than dynamic SQL. From a application development standpoint, performance is one, but not the only factors we need concern. We need to balance performance, maintainability, productivity, etc. From my perspective, I cannot find a good Application Architecture without taking any advantage of OR mapping. Castle ActiveRecord is excellent framework with Null-handler, validation, lazy loading and other great features built. It saves me significant time to build similar things from scratch. I will keep posting what I learn from ActiveRecord, and other O/R mapping, and how to build solid application based on those framework.