Help to select an Architecture

  • Thread starter Thread starter Champika Nirosh
  • Start date Start date
C

Champika Nirosh

Hi All,

We have developed stand alone application and it was started small and now
has become big and we are on our way to structure it. (Thought a backward
process we got to do it)

So right now we have some hanlder class which keep details (properties) of
each models and they are responsible for some core operation as well like
storing data retrieving data (form XMLs) and managing each component etc.

They are manager class which are responsible for all the initialization and
updation of each component as a request come from the UI part. As an example
if user click on a button (Note the manager handle only the core operation
and all the other minor operation handled by the UI directly communicating
with handlers) the manager know which handlers to use for the operation and
what mehtod to call and which variable to update and all...

There the last is the UI...

But I have no idea about these architectures... so can any body help me to
find a architecture that suit for my current class structure so then I can
standerdize it and strucutre it with least modification.

Thanks,
Nirosh
 
Thanks for the help

john said:
check out Martin Fowlers book about refractoring...this
is exactly what refractoring is. He gives about 75
refractoring patters that you can use for what your
talking about
 
Can u pls get me the names of these tool (link if possible)

Again this App is written in c# and the technology will remain as it is and
I had no idea about these architectures when I started this so I just went
with a idea come to my mind and arrange the classes, but now the requirement
has come to standardize it. So I just want to know the architecture (As I
read MVC look closer to my class arrangement) which I can adopt with least
modification

Again what is the best architecture use with standalone application
devepment (in my case I use some xml for data storing as well)

Nirosh.
 
Champika,
I would also recommend Martin Fowler's book on Refactoring.
http://www.refactoring.com

I would further recommend his book "Patterns of Enterprise Application
Architecture"
http://www.martinfowler.com/books.html#eaa

Specifically (in your case based on your description of handlers) the Plugin
Pattern:
http://www.martinfowler.com/eaaCatalog/plugin.html

And the closely related Separated Interface Pattern:
http://www.martinfowler.com/eaaCatalog/separatedInterface.html

Using System.Type.GetType combined with System.Activator.CreateInstance is
how I implement my plugins. (your handlers?) You can store the full type
name of the plugin in the app.config, which is passed to Type.GetType. The
string needs to be in the format "mynamespace.myclass, myassembly".

Also, if you have not read it, "Design Patterns - Elements of Reusable
Object-Oriented Software" from Addison Wesley by GOF (gang of four) Erich
Gamma, Richard Helm, Ralph Johnson, John Vlissides is worth a look. It gives
you (some of) the patterns that you would be using Refactoring to achieve.
For example the State pattern is useful to coordinate 'tool' selection
(handler?) with mouse & keyboard events.

Hope this helps
Jay
 
Back
Top