For a long time I've had a type of software architecture which I strongly believe in and have been applying in my work. I picked up this architecture mainly from reading blogs, mailing lists, going to user groups and applying these ideas whenever possible. Its served me well so far and I've become a big believer in this approach.

One thing which I've found difficult is trying to explain these ideas to other developers more used to the traditional layered approach to software, especially since the traditional approach normally goes hand in hand with a database centric point of view.

My life has now become much easier because Jeffrey Palermo has just posted a blog entry that does a really good job explaining these ideas and he even gives them a name, "Onion Architecture".

The post can be found here. I'm looking forward to part two.