Fog Creek Software
Discussion Board

Books on GUI app architecture?

Does anyone know of a book on design of GUI applications? Not on user interface design, but on the design of the code behind it. Something that goes into MVC in a bit more depth than a passing mention ;)

I have the GoF book, which is very good, but also rather abstract. ANyone have any recomendations?

Mike Swieton
Saturday, October 4, 2003

Up-front note:  The references I'm going to give you are very Macintosh-biased.  That's because they're for people learning Mac OS X development.  But you'll find the concepts very useful regardless of what language, framework, and platform you're developing for.  I learned Objective-C and the OpenStep (now Cocoa) framework in mid-1997.  Learning them made me a much better developer even while I was still working in C++ with the PowerPlant framework, because they cleared up a lot of exactly this kind of issue for me.

Online, check out "The Objective-C Programming Language" from Apple.  It goes into Model-View-Controller in a bit of detail, in one of the best overviews of real-world object-oriented programing concepts I've seen.

In print, get your hands on "Cocoa Programming for Mac OS X" by Aaron Hillegass.  Read through it; it'll show you the various design patterns used in Cocoa and how you use them to build good applications cleanly.  This will get you a bit more knowledge about how to practically apply MVC in the real world (and also give you a bunch of background on the best desktop application framework on the market).

I'm not recommending these to try and turn you into a Mac programmer.  I'm recommending them because they'll really do a good job of teaching you what you want to know in a very practical way.  (The fact that you'll probably want to become a Mac programmer after reading them is only a pleasant side-effect...)

Chris Hanson
Saturday, October 4, 2003

You may want to take a look at the online book and some of the tutorials at Relisoft ( ).  Specifically, look at the chapter on "Windows Techniques" here:

Sunday, October 5, 2003 ("GUI Design patterns") might be a good starting point, and also their link list at

Martin Dittus
Monday, October 6, 2003

Thanks for your responses, everyone. I'll check it out.

Mike Swieton
Tuesday, October 7, 2003

*  Recent Topics

*  Fog Creek Home