Posted on 9/18/2009 12:34:13 AM by Justin Etheredge
For a little while now I have been feeling a bit restless when it comes to programming on the .net platform. I love C#, it is my current language of choice, but I get so jealous when I talk to the Java guys at work and see all of the freaking awesome tools that they have for free on their platform. Since I use the NUnit, NCover, NHibernate, NAnt stack when doing most .NET development, sometimes I feel like we are just a bunch of copycats. I want something neat and unique! (And to be fair, there actually is quite a lot of innovation going on in the .NET space!)
Well, tonight I went to see my good friend Kevin Hazzard talk about DLR/C# interop performance in VS2010 (the talk was great, go check it out) and he gave me a great “smack to the face” reminder of one huge thing that we have coming in C# 4/.NET 4.0 that is quite unique. And that is the dynamic keyword. In order to full appreciate its value, you have to see it used in terms of its interop with dynamic languages.
Continue reading the rest of this post...
Posted on 9/16/2009 10:42:14 PM by Justin Etheredge
I’m a big fan of NUnit and NCover and I have used them extensively on many projects. One of the recent problems that I have been running into was the inability to run NCover 1.5 (the free version) on an x64 operating system. The error I was getting was either “Profiled process terminated. Profiler connection not established.” or the process would completely lock up after running.
Continue reading the rest of this post...
Posted on 9/5/2009 1:35:55 PM by Justin Etheredge
This is going to be a bit of a rant post, and it is probably a bit pedantic, but I come across this one pretty regularly and so I just felt the need to post something about it.
Check out this description of the “Provider Model” design pattern on MSDN:
The pattern itself is exceedingly simple and is given the name "provider" since it provides the functionality for an API. Defined, a provider is simply a contract between an API and the Business Logic/Data Abstraction Layer. The provider is the implementation of the API separate from the API itself. For example, the new Whidbey Membership feature has a static method called Membership.ValidateUser(). The Membership class itself contains no business logic; instead it simply forwards this call to the configured provider. It is the responsibility of the provider class to contain the implementation for that method, calling whatever Business Logic Layer (BLL) or Data Access Layer (DAL) is necessary.
Okay, so they describe it as defining a contract between an API and business logic or data access. So we create an implementation of a particular provider and then implement the logic for the abstract methods that the provider implements.
Continue reading the rest of this post...