Showing posts from October, 2010

Confuddled Colleagues

This follows on from my previous post on nTier. This was originally part of my first article, though it all became a bit lengthy - mainly due to the fact I ramble on like a 90 year old war veteran. I would highly recommend checking out my previous post before reading this one.

An issue that tends to confuse some developers is the difference between namespaces and assemblies and where each of the layers in an nTier architecture belong in your code repository. When I write code, I always try to make an early decision what other uses it has and its purpose, and place it in the relevant namespace / assembly within my repository.

Namespaces provide a convenient way to store and group your custom types. They are a hierarchical method of grouping types in your repository and the same namespace (or sub-trees of that namespace) can reside in more than one assembly.

Assemblies, on the other hand, are physical files that can be included in your projects. The main benefit to using separate assemb…

1Tier, 2Tier, 3Tier, n

I wrote this blog in January 2010 - which means, as per usual, I've been constantly busy for eleven months. I started it during the Christmas break and fully intended to publish it a few weeks later when I had time to write some code examples. Albeit, that free time eluded me and this text has sat here in my blog gathering dust for some time.

I initially wrote this out of frustration. At the time I was consulting with a global energy supplier who were in the process of expanding their development team and therefore wanted to create a set of generic base classes and assemblies for all of their future projects. Unfortunately the team were lacking in the experience and understanding in nTier fundamentals, which proved to make explanation and implementation difficult.

Being a developer of the self-taught ilk, nTier architecture is something I discovered quite late in my career. My background is in Classic ASP scripting, Visual Basic 6 and fairly advanced T-SQL development. The first f…