n-Tier Development at its Best
DotNetNuke August 11th, 2005We are currently using DotNetNuke as the portal platform for an in-house project. I chose this platform as our base because it is written in a .NET language (our languagues of choice), its add-on model is stable and incredibly sound and it has the ability to do pretty much whatever you require.
Looking the the object model within DNN, you will notice n-tier development at its absolute best. The 3 layers (data, business, presentation) are tightly defined and completely seperate. The platform does run off a SQL Server backend but because of the architecture, I could easily write a MySQL dataprovider or an Access version if I really wanted to. As an example, in the business layer all datareaders are passed around as an interface called IDataReader. The business layer doesn’t care what kind of datareader it is (ODBC, SQL) as long as it implements the functions defined in the IDataReader interface. Pretty smooth!
If you are wanting to learn how a well architectured application works and how n-tier applications are built, take a look at the source code, install the portal and have a go at writing a simple addon. You won’t be disappointed and you will definitely learn something new about OO in your work.
It has taught me a lot and I am not even coding with it directly. There is a C# version that has been ported from the VB.NET version in case you prefer that language.
I have decided to write about our experiences using the portal on this blog. If you have an interest in DotNetNuke, n-tier development or just OO, subscribe to the RSS feed and have a read!