I am just embarking on my first large-scale refactor, and need to split an (unfortunately large) class into two, which then communicate only via an interface. (My Presenter has turned out to be a Controller, and needs to split GUI logic from App logic). Using C# in VisualStudio 2008 and Resharper, what is the easiest way to achieve this?
What I am going to try is a) Collect the members for the new class and "extract new class" b) clean up the resulting mess c) "Extract Interface" d) chase down any references to the class and convert them to interface references
but I have never done this before, and wonder whether anyone knows any good tips or gotchas before I start ripping everything apart... Thanks!