Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Module RFC: Yet another object-persistence interface

by dragonchild (Archbishop)
on Sep 21, 2003 at 01:43 UTC ( [id://292943]=note: print w/replies, xml ) Need Help??


in reply to Module RFC: Yet another object-persistence interface

First off, I think you should definitely post this on CPAN. As for a class name, why not call it what it is - Class::DBI::Psychic? Another name could be Class::DBI::Lite, but that doesn't really describe the true benefits this class provides. From your description, your class does the following:
  • Reads the schema from a database
  • Auto-generates classes from that schema and provides them for you
  • Auto-generates FK relationships, based on the assumption of a well-normalized and well-named schema
  • Allows you to treat the database as a true OO store.

That sounds like Class::DBI::Psychic to me, but no-one will use that. So, call it Class::DBI::Simple and have done with it. :-)

And, yes, I want this code. Because, I use your interface for the easy stuff and I can still pass the $dbh some complex SQL, should I need it. It makes the hard (or annoying) things easy and still lets me do the impossible.

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

  • Comment on Re: Module RFC: Yet another object-persistence interface

Replies are listed 'Best First'.
Re: Re: Module RFC: Yet another object-persistence interface
by perrin (Chancellor) on Sep 21, 2003 at 02:28 UTC
    It's pretty well established at this point that calling a module Class::DBI::* means it has something to do with the Class::DBI module. Class::DBI is a specific module, not a generic term. Things like "Persistence" or "Object-Relational" are generic terms, but not Class::DBI.
      So, XML::Parser::Lite has to do with XML::Parser? I don't think so ... this module is one that provides a Class::DBI-like interface, but does it in a simple manner. Hence, Class::DBI::Simple.

      Now, I can understand your hesitation because XML::Parser can be dropped in for XML::Parser::Lite with no changes. This module cannot be replaced directly with Class::DBI without a problem. Interesting problem ...

      ------
      We are the carpenters and bricklayers of the Information Age.

      The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

      Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

        I don't agree. Class::DBI is not a generic term. It is a specific and well-known module. Anyone seeing Class::DBI::Lite on CPAN would reasonably assume that it had something to do with Class::DBI.

        No one complains about things like CGI::Simple because CGI is a truly generic term. Is it ethical for people to grab generic namespaces for things like CGI or Template? Maybe, maybe not, but that doesn't change the issue here. Personally, I think it would be better to have called XML::Parser::Lite something else, even XML::ParserLite, in order to keep it out of the same package namespace.

        Incidentally, I don't think Class::DBI could reasonably be called heavy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://292943]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-04-20 04:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found