Monday, May 08, 2006

Refactoring an enterprise application

I am in the process of refactoring a fair sized com application that is consumed by many other applications. When the system was designed all data between the com system and the clients was via a dataset interface. This has caused lots of issues with naming, required fields, etc. so here is my plan to refactor it out while still preserving client compatability

1. As I do work create objects that are representitive of the entities being passed in
2. Create transformer objects that change the method from a dataset to an object and back again (testing this thoroughly of course)
3. Change the Data layer to use these new objects.
4. Migrate this up to the business layer (this is the layer that is exposed to the clients)
5. Take the incomming dataset and apply the transformer to create the objects
6. Expose the newobjects as overloaded methods that new clients can now consume
7. Depricate the old dataset methods and eventually remove them

I think it will work. I will let you know if it does in about... 2 years :)


Post a Comment

<< Home