Coding, is? Fun!

Thursday, July 19, 2007

Application Framework - Project Breakdown

We have to break down the project into different modules. Since these are dependent on each other, it is always a challenge to manage this:
1. Start with an Events namespace - to wrap asynchronous communication. This may need some thread management. It may help break it down into a set of Services and Tasks. A single task will wrap a thread. By doing this, we will be able to publish exceptions asynchronusly.
2. Build an Exceptions namespace - with a base exception and some synchronous and asynchronous logging capabilities. The log will be a stub for now - it may just log to the file system.
3. Build a Caching base that will hold a set of records in a refreshable cache.
4. Build a Configuration namespace for managing name-value configurations and caching them.
5. Build a Lookup Manager that loads readonly data and caches them, in lookup objects.
6. Build a Security namespace with a principal for forms authentication.
7. Build a Connection String Configuration Manager
8. Build a Persistence namespace that manages saving and loading objects.

The Code generator can be built independently.
The Connection String configuration and the Configuration namespace can also be built independently.
The Exception logging part can aslo be independent.
The rest of it may see some intense coding.

2 Comments:

  • Doesn't appSettings take care of item 4?

    By Anonymous Surya, at 6:49 AM  

  • In some frameworks, these name-value pairs are parametrized by environment (such as a cache server, which will vary between QA, staging and live). This parametrization needs an additional layer - much more than appsettings can offer.

    By Blogger Ramiah Ariya, at 2:06 AM  

Post a Comment

<< Home