Application architecture, how to go about it

  • Thread starter Thread starter Ectoplasma
  • Start date Start date
E

Ectoplasma

Hello,

I have arrived at quite an architectural challenge.

I am at the verge of deciding to rewrite a large application written
in C++ with MFC. I am quite sure we will switch to C# language on the
..NET platform. Second choice, but unlikely, is Java. Because I am not
very experienced with architectural choices and have little experience
yet, and because I just want to know which choices there are, I post
it here in this group.

The application has the following concept:

- Windows main application: MDI user interface. Uses all following
components.
- Component: database access to store documents data
- Component: store data to binary file instead of database
- Component: data (document), large in size and complex in structure;
a document employs one of several different models, one component for
each type of model; code specific to maintain / access data resides in
the respective model type component (including media storage)
- Component: analysis of document of particular data model (one
analysis component specific to each model); storage of the analysis
data.
- Component: optimisation of document of particular data model (one
component specific to each model); storage of the optimised data;
component uses (data from) analysis component
- Component: visualisation; one component for eg. 2D visualisation,
one for 3D, etc. (Q: How can a component handle user interaction
specific to its respective visualisation type?)

I want this application to work on component "plug in" basis. I want
to be able to choose which components to incorporate in the app at
build time. Later on maybe also on run time.

Can anyone comment on this, maybe recommend a (practical, language
specific) book or a project that can serve as an example? What kind of
(binary) components to use, DLL's? What kind of interfaces? Which
methods have proven in past projects?

Thank you,

K.
 
Back
Top