S
Steve B.
Hi,
I'm planning to build a small application that can manage and share
favorites as a self learing app. I'd like your inputs to help me correctly
design the application.
The goal of the app is to help the user to keep its favorite, and share
favorites between other users (corporate favorites).
The application should be able to "query" several types of sources : File
Share, SharePoint list (mysite for per user favorite or any wss list for
shared favorites), RSS feed, xml file... The sources should be shipped as
plugin in order to help extending the application.
The application should also have different destinations : file on the
computer, Ie favorites folder (a folder too) and mozilla firefox bookmarks
file. The destination should also be shipped as plugin, in order to support
adding new "destination".
I'm not asking how to connect to source and destinations, but how I have to
"organise" my code.
I'm thinking about something like this (the requirement of the app can be
..Net 3.0):
- I create a Core library that define the interfaces for both sources and
destinations
- I create some basics classes that implements theses interfaces in
separates assemblies
- I create an "host" application that can load at run time the pluggins
selected by the users using reflection and appdomains
- The host application will wait for any source to give a new item to add.
- This host application then will "send" the item to all destinations
So these interfaces are defined :
IEndPoint :
ICredentials Credentials { get; set; }
UseDefaultCredentials {get; set;}
IStore : IEndPoint {
ItemCollection GetAllItems();
ItemCollection GetItemsAddedSince(DateTime dt);
event ItemAdded;
}
IDestination : IEndPoint {
AddItem(Item newItem);
Uri destinationUri { get; set; }
}
Do you think I'm on the right way ?
I think something is missing : the configuration. I suppose I can rely on
the settings class for each store and destination, and for the list of
pluggin to load.
Thanks in advance for the help.
Steve
I'm planning to build a small application that can manage and share
favorites as a self learing app. I'd like your inputs to help me correctly
design the application.
The goal of the app is to help the user to keep its favorite, and share
favorites between other users (corporate favorites).
The application should be able to "query" several types of sources : File
Share, SharePoint list (mysite for per user favorite or any wss list for
shared favorites), RSS feed, xml file... The sources should be shipped as
plugin in order to help extending the application.
The application should also have different destinations : file on the
computer, Ie favorites folder (a folder too) and mozilla firefox bookmarks
file. The destination should also be shipped as plugin, in order to support
adding new "destination".
I'm not asking how to connect to source and destinations, but how I have to
"organise" my code.
I'm thinking about something like this (the requirement of the app can be
..Net 3.0):
- I create a Core library that define the interfaces for both sources and
destinations
- I create some basics classes that implements theses interfaces in
separates assemblies
- I create an "host" application that can load at run time the pluggins
selected by the users using reflection and appdomains
- The host application will wait for any source to give a new item to add.
- This host application then will "send" the item to all destinations
So these interfaces are defined :
IEndPoint :
ICredentials Credentials { get; set; }
UseDefaultCredentials {get; set;}
IStore : IEndPoint {
ItemCollection GetAllItems();
ItemCollection GetItemsAddedSince(DateTime dt);
event ItemAdded;
}
IDestination : IEndPoint {
AddItem(Item newItem);
Uri destinationUri { get; set; }
}
Do you think I'm on the right way ?
I think something is missing : the configuration. I suppose I can rely on
the settings class for each store and destination, and for the list of
pluggin to load.
Thanks in advance for the help.
Steve