We're looking at patterns such as MVP that can help make us seperate UI from logic from data. The initiative is late in the game, but is an effort to begin to set rules that we need to write more testable code (currently we write hairballs, spaghetti, duct-tape and wood screws, etc.)
As we look to the approaches to take with out 2.0 WinForms app we are also keeping WPF and the next-generation of our product's UI in mind. We are trying to create something that should be readily reusable in the WPF world by pulling our WinForms UI/View off and slapping our new WPF UI/View on.
Does any particular pattern for 2.0 development lend itself to naturally slide into WPF's MVVM pattern? What pattern should we follow today that will let us transition into WPF without needing to either hack WPF onto our existing presentation logic or vastly rework/move (again) our presentation logic to fit WPF?