ASP classes, code included multiple times - how to avoid?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Noozer

    ASP classes, code included multiple times - how to avoid?

    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.

    ???


  • Dave Anderson

    #2
    Re: ASP classes, code included multiple times - how to avoid?

    Noozer wrote:[color=blue]
    > 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]

    What do you mean by "class" ? Are you talking about VBScript Class Objects
    created by using the Class Statement
    (http://msdn.microsoft.com/library/en...1f669ec5.asp)?
    Do you mean custom objects written in JScript? ActiveX objects you
    instantiate with Server.CreateOb ject("prog.id") ?


    --
    Dave Anderson

    Unsolicited commercial email will be read at a cost of $500 per message. Use
    of this email address implies consent to these terms. Please do not contact
    me directly or ask me to contact you directly for assistance. If your
    question is worth asking, it's worth posting.


    Comment

    • Noozer

      #3
      Re: ASP classes, code included multiple times - how to avoid?


      "Dave Anderson" <GTSPXOESSGOQ@s pammotel.com> wrote in message
      news:1202l6u84j jad8@corp.super news.com...[color=blue]
      > Noozer wrote:[color=green]
      >> I'm writing an ASP application and have a noob question...[/color][/color]
      <snip>[color=blue][color=green]
      >> 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?[/color][/color]
      [color=blue]
      > What do you mean by "class" ? Are you talking about VBScript Class Objects
      > created by using the Class Statement
      > (http://msdn.microsoft.com/library/en...1f669ec5.asp)?[/color]

      Yes, exactly.



      Comment

      • Dave Anderson

        #4
        Re: ASP classes, code included multiple times - how to avoid?

        Noozer wrote:[color=blue][color=green]
        >> Are you talking about VBScript Class Objects
        >> created by using the Class Statement?[/color]
        >
        > Yes, exactly.[/color]

        OK. Could you be a little more specific about what you are doing? Perhaps
        you could show an example that illustrates your question.



        --
        Dave Anderson

        Unsolicited commercial email will be read at a cost of $500 per message. Use
        of this email address implies consent to these terms. Please do not contact
        me directly or ask me to contact you directly for assistance. If your
        question is worth asking, it's worth posting.


        Comment

        • Mark J. McGinty

          #5
          Re: ASP classes, code included multiple times - how to avoid?


          "Noozer" <dont.spam@me.h ere> wrote in message
          news:VncMf.7266 7$H%4.28156@pd7 tw2no...[color=blue]
          > 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.


          -Mark



          Comment

          • Chris Hohmann

            #6
            Re: ASP classes, code included multiple times - how to avoid?

            "Noozer" <dont.spam@me.h ere> wrote in message
            news:VncMf.7266 7$H%4.28156@pd7 tw2no...[color=blue]
            > 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]

            Unfortunately, VBScript does not allow for the redefinition of classes. You
            could do it in JScript. Your options would be to rewrite the classes in
            JScript or create JScript wrapper classes/functions for your existing
            VBScript classes.


            Comment

            • Noozer

              #7
              Re: ASP classes, code included multiple times - how to avoid?


              "Mark J. McGinty" <mmcginty@spamf romyou.com> wrote in message
              news:e8bftc4OGH A.2064@TK2MSFTN GP09.phx.gbl...[color=blue]
              >
              > "Noozer" <dont.spam@me.h ere> wrote in message
              > news:VncMf.7266 7$H%4.28156@pd7 tw2no...[color=green]
              >> 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.i nc" --> 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.



              Comment

              • Paxton

                #8
                Re: ASP classes, code included multiple times - how to avoid?


                Noozer wrote:[color=blue]
                > "Mark J. McGinty" <mmcginty@spamf romyou.com> wrote in message
                > news:e8bftc4OGH A.2064@TK2MSFTN GP09.phx.gbl...[color=green]
                > >
                > > "Noozer" <dont.spam@me.h ere> wrote in message
                > > news:VncMf.7266 7$H%4.28156@pd7 tw2no...[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.i nc" --> 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:



                /P.

                Comment

                • Noozer

                  #9
                  Re: ASP classes, code included multiple times - how to avoid?

                  [color=blue][color=green]
                  >>
                  >> <!-- #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[/color]

                  I always wondering about which extension to use. I had just recently
                  switched away from .asp to .inc. Back I go!!!

                  Thanks!


                  Comment

                  • Dave Anderson

                    #10
                    Re: ASP classes, code included multiple times - how to avoid?

                    Noozer wrote:[color=blue]
                    > I always wondering about which extension to use. I had just recently
                    > switched away from .asp to .inc. Back I go!!![/color]

                    There is no reason to go back. You can simply tell IIS to parse .inc
                    requests with asp.dll, and there will be no functional difference between
                    the extensions.




                    --
                    Dave Anderson

                    Unsolicited commercial email will be read at a cost of $500 per message. Use
                    of this email address implies consent to these terms. Please do not contact
                    me directly or ask me to contact you directly for assistance. If your
                    question is worth asking, it's worth posting.


                    Comment

                    • Mike Brind

                      #11
                      Re: ASP classes, code included multiple times - how to avoid?


                      Dave Anderson wrote:[color=blue]
                      > Noozer wrote:[color=green]
                      > > I always wondering about which extension to use. I had just recently
                      > > switched away from .asp to .inc. Back I go!!![/color]
                      >
                      > There is no reason to go back. You can simply tell IIS to parse .inc
                      > requests with asp.dll, and there will be no functional difference between
                      > the extensions.
                      >[/color]

                      Assuming Noozer has access to the IIS server, or an obliging web
                      hosting company....

                      ;-)

                      --
                      Mike Brind

                      Comment

                      Working...