tags:

views:

56

answers:

1

I am making an application that is a dashboard/widget host.
This is an app I will release online to kickstart a content based website I am making.
I am using MEF to load the plugins and I have a ui Concept Idea like this:

http://i42.tinypic.com/scb6nd.png

  1. Is this a good design choice?
  2. How would I implement the Navigation?
    3. Is there any Design Patter you would reccomend for this?

Note: My contract interface is this.

public interface IDashboardPlugin
{
   public string Name{get;}
   public string Description{get;}
   public string Author{get;}
   public UIElement UI{get;}
}

Also, I have an ArrayList loaded and composed on loading the application.

+1  A: 
  1. Is what a good design choice- your mock-up? You are probably the most qualified to answer that, since you know the most about the application you want to design. If you're asking what we think of the screenshot, then I'll say yeah, that looks like a reasonable idea to me.
  2. You haven't given me enough information about the application for me to determine how the navigation could be implemented. Is this line-of-business software? A personal application? A throw-away utility? What do you mean by navigation- are you referring to the plug-ins?
  3. You're getting way ahead of yourself. Don't design before you've spec'ed requirements. In fact, don't try to conform code that doesn't exist yet to a design pattern. This is the way of the architecture astronaut. From your question it appears you know almost nothing about the application, and have yet to code any of it besides a vague interface.

Before you can answer any of these questions (that are concerned with implementation), you need to actually write some code. So far you have a screenshot. Consider thinking about these questions more later when you have a better idea of how the application will work.

Charlie
Thank you for the information. I will edit the question. I already have written base code using MEF. As in, I have an ArrayList<IDashboardPlugin> loaded with the application.
AKRamkumar