First of all, this βrightβ way that you are talking about is a huge waste of time for small and medium sized projects, with the exception of MVVM (which should be used in every MVVM solution and does not require anything external in any case).
Speaking, what you are asking is very specific, and therefore you are unlikely to find any textbook covering it. Instead, you should look for large open source projects and see how they do it, you should find a lot in CodePlex (the most famous on GitHub are surprisingly low quality oO).
I personally use MVVM + PRISM + MEF, but not TDD, and the only truly inseparable component is MVVM.
source share