|(This is more of a general design question vs. a specifically Perl question.)
I'm trying to work on decoupling the application I'm working on from its database. The goals here are:
- Minimize the impact of schema changes on the business logic as well as the control structure
- Bring together all SQL so that the business and controller logic aren't dealing with the underlying implementation of how the data is stored.
My problems are thus:
- I know that I want to bring all the SQL together, so having every SQL call wrapped in a function is easy enough.
- But, I know I'll end up with a ton of individual SQL_ functions with very little way to navigate through them.
- At first glance, every single SQL call will be in some SQL_ wrapper, even if there's a minor change (such as sorting and the like)
Have people worked out some idea of data structures to pass back and forth? I'm not so worried about memory or CPU as I am in cohesion and coupling.
We are the carpenters and bricklayers of the Information Age.
Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||