I will be presenting some preliminary material from my “Presentation Patterns” book on Virtual ALT.NET during the first two weeks of August. For August 5th I’m going to talk about what I call the “Screen Activation Lifecycle.” Think of an application like Visual Studio that is constantly loading and destroying screens. How can we activate a new screen and synchronize the application shell to reflect the options for the new screen? How do you locate and activate an existing screen for a requested subject instead of opening a duplicate screen? How do you remember state to do web browser type navigation? And oh yeah, how can you do this in a way that enables you to easily add all new screens later (OCP baby!)? To start some answers going, I’d like to present some reocurring design patterns I’ve found useful for these problems. I’ll definitely be talking about a “Tabbed MDI” application shell for the first talk and maybe a web browser style shell (depends on how I do in prepping). I’ll also touch on “View First” vs “Presenter/ViewModel First.”
I’m really hoping for some feedback on the material here and I’d love to have any and all criticism or suggestions. I’ve got 5 days to prepare as well, so if there’s anything in specific about this topic that you’re interested, please drop me a comment and I’ll see what I can do. I’m thinking that the second week of August to talk about Separated Presentation patterns. There’s an almost infinite store of good content on these patterns and the important differences between them, but not many developers have a strong understanding of these differences. I think I’m going to give up and go with MVVM in my nomenclature. I do think it just MS’s renaming of Presentation Model, but I think far more people are familiar with the term MVVM and well, that matters.