How to get rid of legacy code nesteryuk.info
In this article you can find my 5 cents about this subject. There are 5 approaches which may help you. It is not about patterns, but it is about making decisions and architecture of an application. There is one approach which started working well for us.