We're going in circles now. As discussed earlier,

Not in circles. I keep asking the same question, because you haven't yet answered it.

None of that consistutes a need.

  1. the user is freed from having to remember obscure DSN formats"

    They don't have to "remember". They just cut and paste from the appropriate DBD docs.

    Your way, they not only have to look up those docs to find out what each particular DBD requires; they also have to look up your docs to find out the "standardised names"; and then work out how to map bits of those opaque tokens to them.

    And then wonder what to do about the names they don't have bits for; and bits you don't have names for.

  2. and can inspect the individual pieces easily

    Why do they need to "inspect the pieces"? How will they use that ability?

    Just having that ability, 'because you can', isn't a reason for having it.

    Just being able to use that ability isn't a reason for having it.

    There has to be a purpose for using it. And you've obstinately failed to suggest even one.

  3. The "standardized names" I talked about in my hypothetical DBI example exist in Rose::DB: host, username, password, database, driver, etc

    Now that is a circular argument.

    They have to give you them in bits, because you have names for them.

    And you have names for them, so that they can break them into bits.

    But (again) for what purpose or benefit?

  4. And don't forget, for those who do want to use DSN strings for some reason, Rose::DB will accept them as input

    So, they don't need them. And neither do you I suggest.

    I've looked. Not exhaustively, but I have looked. And I cannot find one place where you do anything with those fields beyond set them and get them. Not one substantive flow control, validation, ... nada.

Furthermore, your continued characterization of Rose::DB objects as glorified structs

I have never characterised Rose::DB objects as such. Just the breaking apart of DSNs.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

In reply to Re^13: Avoiding compound data in software and system design by BrowserUk
in thread Avoiding compound data in software and system design by metaperl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.