C# design question

  • Thread starter Thread starter Frank
  • Start date Start date
F

Frank

Hi all,

I need someone to push me in the right direction. Most of my projects
at work are small tracking applications that help people generate
month end production reports, i.e. (This many users did this many
items between these dates). I have already developed several and they
all do pretty much the same thing, log an item in and timestamp it
each time someone touches it. Well I have been asked to build another
one and decided I am tired of cuting and pasting a lot of code. My
goal, if possible, is to build a workflow framework that I can reuse.
I would also like to have a common interface for this framework.
Kindof like a portal that I can just add modules to each time someone
wants a new tracking system. Does anyone have any good books they can
point me too or concepts they can share with me. I have looked on the
web and at bookstore but I have not found a good referecne for what I
want to do. Also I am new to the whole dotnet\c# thing, I come from
vb5\6 background, so if there is something in the framework that
already does this please let me know, I don't want to reinvent the
wheel.

Thanks

Frank
 
Frank said:
Hi all,

I need someone to push me in the right direction. Most of my projects
at work are small tracking applications that help people generate
month end production reports, i.e. (This many users did this many
items between these dates). I have already developed several and they
all do pretty much the same thing, log an item in and timestamp it
each time someone touches it. Well I have been asked to build another
one and decided I am tired of cuting and pasting a lot of code. My
goal, if possible, is to build a workflow framework that I can reuse.
I would also like to have a common interface for this framework.
Kindof like a portal that I can just add modules to each time someone
wants a new tracking system. Does anyone have any good books they can
point me too or concepts they can share with me. I have looked on the
web and at bookstore but I have not found a good referecne for what I
want to do. Also I am new to the whole dotnet\c# thing, I come from
vb5\6 background, so if there is something in the framework that
already does this please let me know, I don't want to reinvent the
wheel.

Thanks

Frank

It is difficult to know exactly how you want to structure your 'framework',
but 3 basic design patterns appear to be evident - the Abstract Factory
(different modules), the Bridge (different implementation for similar
objects), and the Strategy pattern (different business rules depending on
context).

The simplest way to get started is to draw up your basic things, then find
what varies and encapsulate it (always favoring compostition over
inheritance). What 'thingy' (implementaion, algorithms, or whole objects) is
actually changing with each revision/additional/... will lead you to a
solution. (One of many probably - note there is seldom a single 'correct'
solution outside the aspects of your specific problem domain.)

When you think you have an idea of which way to go, then a Google search
should turn up a few C# implementations of the pattern you need.

I appreciate that this response is likely too vague and not as concrete as
what you were looking for <g>.

HTH
-ralph
 
Frank,

Even though your application is in C#, I don't think that is at the
heart of the issue that you are addressing. You probably are
unnecessarily restricting your search for help in looking only for
solutions that pertain to .NET or C#.

A book I read that really helped me to see software solutions in a whole
new way was The Pragmatic Programmer by Andrew Hunt and David Thomas.
You can buy it at bookstores, or you can get it at their (excellent)
site, http://pragmaticprogrammer.com.

I think that you, also, will find the book very useful.

-Mike Gage
 
Back
Top