Screen Activation Lifecycle at Virtual ALT.NET in August

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. 

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Presentation Patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.backlinkschecker.ws/backlinks/buylinks.html Purchase High PR Backlink

    This is a great idea for a blog

  • satish

    I am jus putting down list what i am expecting

    1)event aggreagator with the ViewModel pattern
    2)Navigation when u have tab
    3)event aggregator with tab when the tab has the same viewmodel with different instance

  • JohnV

    Hopefully you will have a sample project with source code and tests for us to look at? I would really like to know how to test/code a ‘drag to reorder’ tabs and or menus type interface. You don’t have to discuss it necessarily but if could be in the code, that would be great.

  • Jiho

    I’ve been resisting the use of the name MVVM, especially in my code but it gets tiring having to type out PresentationModel. Maybe I should give it up and just use:

    public class CustomerViewModel
    {
    }