|
-
May 17th, 2010, 01:31 PM
#1
Thread Starter
Junior Member
Wheres a good place to start? Modular design.
Well college finished in just over 2 weeks and then im free for the summer to start looking for a proper job...
But an Idea has popped into my head and im not really sure where to start. I'm looking for a simple application that can query a DB etc and provide imformation to the user... That of course is no problem...
But I want to design it so that once it does the requirements it will be fine, but as time goes on new maybe I want to add something more to it, rather than issue a new release? So I'm thinking about designing the whole thing in a modular fashion, so that down the road a user can add a dll or what ever type of file to the application and it will just work, and extend the program...
Think like eclipse* does, a user can download a file and put it in the plugins folder and it will work, and even change the main forms gui if needed.
But I have no idea, on a design level and on a programming level in .Net (or any other language for that matter) how to implement something like this, so what I'm looking for is advice, sites to look at, and maybe even the odd book that would be helpful to give me a starting point?
*yes, eclipse... just after finishing a java based college project, it in my head
-
May 17th, 2010, 03:31 PM
#2
Re: Wheres a good place to start? Modular design.
I'm doing something like that (the modular design part) at the moment. In general, the modules would be dlls that exposed classes that implemented one or more interfaces. In my case, I put into the interface those common features needed to tie the module to the main program. For example, it exposes a property that has a text string which will be the string shown for a menu item. By doing this, the main program can check the dll for any classes that implement the interface, and if it finds one, it can check the properties to figure out which menu to add the item to, and what string to add. There is also a function in the interface that gets called when the menu item is clicked.
The goal is to put sufficient common items into the interface that it is universally useable, but not so much that it becomes unweildly. One thing you can do is to have an item in the common interface that returned a different interface. This would allow a class to implement the common interface...and one or more of another set of interfaces (though technically, this isn't all that valuable, as you can discover the interfaces directly). By separating out the various pieces to specialized interfaces, you can create a fairly broad and versatile system, all of which hinges off that first common interface.
Just a few suggestions.
My usual boring signature: Nothing
 
-
May 17th, 2010, 04:17 PM
#3
Thread Starter
Junior Member
Re: Wheres a good place to start? Modular design.
-
May 27th, 2010, 09:00 AM
#4
Re: Wheres a good place to start? Modular design.
I've never done anything with it but isnt there a Plug-in Framework for the .NET Framework that is specifically for this kind of thing?
EDIT: Here's some info on it http://msdn.microsoft.com/en-us/library/ms972962.aspx but it looks like it might just be for .NET 1.0, not sure.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|