Strategy for large scale refactoring
I'm currently working in a piece of code where both logic and data access are present in the GUI classes. Obviously, I would like to improve on this situation. The current structure is basically: Big ball of mud The ultimate goal is to achieve a DDD-like structure: DAL Domain model Service layer Presentation model GUI So, how would you attack the problem? Big bang Define the structure for the final state and push code to its ultimate home. Divide and conquer Try to separate the big ball of mud in to two pieces. Repeat until done... Strangling Strangle the classes (as described in http:/