PatMcC 0 Newbie Poster

I would like to learn more about how desktop applications are put together. There are many books out there that give specific code examples for small problems such as connecting to a DB or creating a dialog box etc and there are design pattern books that layout abstract concepts but I was looking for something in the middle.

Here are a few questions I would like to find answers to, myself, by reading such a book:
-Most Apps use MVC but are there other options
-what are the pros and cons of creating hooks for your application
-what are the benefits of a version system and how do you choose one
-etc, etc

Planning an application is a non-trivial task yet I have been searching for many hours and I have not found a desktop oriented book, just several web App books.

Thanks in advance-Patrick