Geeks With Blogs
Chaz Blogs It's all about the eXperience!
Untitled Page What's in a directory structure?  Well a lot.  I tend to create a directory and source control structure that reflects my architecture.  It is just another way of allowing the domain to blend into every aspect of your development.

So here it is plain and simple...

The top folder "CodeCampSourceControl" is the root for the version controlled projects both on the hard disk and in the source control system.

Source control directory
The two subsequent folders "Projects" and "Solutions" are rather self explanitory.  Within the Projects folder, I create a folder that pairs up to my default namespace.  Within the "NewJersey.CodeCamp" folder I have created a Database, DAL, Lob, UI, and UT project.  The Database folder contains my SQL Scripts etc.  I like to use source control rather than the database deltas to manage SQL versioning. The Data Access Layer (DAL) is the coding I use to bang against the database.  In fact my DAL code actually interacts with the Enterprise Library's Data Access Application Block.  My Line of Business (LOB) encapsulates ALL of my business logic.  The LOB can contain other more granular projects.

The User Interface (UI) project contains only the code required to make the presenation layer work.  I am a fan of the Model View Controller (MVC) design pattern.  The concept of this pattern can be hard to grasp particularly for old school Visual Basic developers.  It took me a long time to recognize when I was crossing layer boundaries and say managing data state in the UI logic.  A definite no-no.  The method I use to keep my boundaries as clean as possible is to modify all data in the business object, fire an event and have the UI react to the event.

Finally the Unit Test (UT) project is simply an isolated layer of code dedicated to executing N-Unit against the other application layers.

So there you have it... a simple explanation of a simple directory structure methodology.  Although this topic is somewhat elementary for many of you, this is the first in a series of efforts I am calling "Entry Level Enterprise Development" or ELEDev.  ELEDev attempts to address Enterprise Level Development for those who have not been exposed to it.

--chaz Posted on Tuesday, August 22, 2006 8:32 PM Architecture, Paterns and Practices , Entry Level Enterprise | Back to top


Comments on this post: What's in a directory structure?

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © Chip Lemmon | Powered by: GeeksWithBlogs.net