Noozer wrote:[color=blue]
> "Mark J. McGinty" <mmcginty@spamfromyou.com> wrote in message
> news:e8bftc4OGHA.2064@TK2MSFTNGP09.phx.gbl...[color=green]
> >
> > "Noozer" <dont.spam@me.here> wrote in message
> > news:VncMf.72667$H%4.28156@pd7tw2no...[color=darkred]
> >> I'm writing an ASP application and have a noob question...
> >>
> >> I have a class that access an MS SQL database. I have another class also
> >> accesses an MS SQL database and this second class uses objects from the
> >> first class. I have a third class using the DB and objects of the second
> >> class.
> >>
> >> Each of these classes contain all the code needed to access the database
> >> and this means much duplicated code. What I'd like to know is if there is
> >> a way to avoid the duplicated code?
> >>
> >> I know I could write the code once, then do an #include to include the
> >> code into the class, but that still means multiple occurances of the
> >> code.[/color]
> >
> > Have you considered redesigning your set of classes so that none of them
> > duplicate each other's functionality? Code a common low-level class that
> > the others can call to do their dirty work. If that's impractical, put
> > the redundant code in regular functions and call them from the classes.
> >
> > Also try to avoid any unnecessary depth in your object dependency trees,
> > e.g., ClassC depends on ClassB which depends on ClassA, etc... I'm not
> > saying never to do this, just to keep it to the minimum that's needed.
> >
> > If you want to post the classes you're using (or perhaps abbreviated
> > versions if possible) we may be able to offer more specific suggestions.[/color]
>
> Thanks all!
>
> Basically, I'm trying to design some very generic classes that I will use
> often in multple projects. Because of this, I was building each class to be
> self sustaining, containing any code needed to converse with databases,
> generate output etc. With this, I'd have a lot of duplicated code if I was
> using several of the classes at the same time.
>
> Reading the replies here and planning a bit more, it makes much more sense
> to build even more basic classes (like a database class) for anything that
> I'll be using that often, and being sure to include them in the PROJECT (ie,
> ASP) page and NOT within the classes themselves. Such as:
>
> <!-- #include file="dbclass.inc" --> JUST DB handler code
> <!-- #include file="pageclass.inc" --> JUST code about pages
> <!-- #include file="bookclass.inc" --> JUST code about books
>
> ...instead of...
>
> <!-- #include file="bookclass.inc" --> Code about books, DB handler for book
> related info, and has an #include to import the "pageclass.inc" file, which
> has it's own DB handler for page related info.[/color]
You might want to look at this post wrt include file extensions:
http://groups.google.co.uk/group/mic...c14a5ae7975140
/P.