Is there a course that can help non OO programmers how to develop in .NET in a good way? I don't mean just the syntax and how to design a class and the relationship between class but how organize a solution into projects (naming, what to put on each one) what method is more suitable to access data (dataobjects, remoting, ORM) how to design forms with databinding, how to validate, why is important to use interfaces if we want to unit test later and so on. There are so many things that I would like to study! But I can only find reference books, or some generic XP or Agile practices. I have lots of really good books (head first design patterns, head first C#, The Art of Agile Development, Code Complete, The pragmatic programmer series (subversion, unit testing and interface programming), but they don't say a word about organizing programs in .NET
I found http://www.learnvisualstudio.net, https://www.microsoftelearning.com and http://www.franklins.net but they don't really deliver a strategy to develop in a maintenable way, they just show me the tools I can use. I also follow some very good blogs and websites but I can only get bits and pieces.
How did you learn how to develop mid-size applications? Can you recommend any good web course? video tutorials? blogs? ebooks?