While thinking about my reply to Appropriate amount of abstraction, I dug a little more into the Law of Demeter than I had previously. It occurs to me that Demeter shouldn't apply to object-relational mappers.
Relational databases are just that: relations. Crawling through multiple-table joins is normal in a reasonably complex database. When you translate these joins into an object-relational mapper like Class::DBI, these naturally break Demeter. But Demeter comes from the OO world, and joins come from the relational world. I don't think there is a good way to recincile these viewpoints that will satisify Demeter.
Of course, many say that object-relational mapping is a flawed idea, and this probably forms a good argument for that position.
Update: Minor spelling fix (s/mutiple/multiple/).
"There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.
In reply to Law of Demeter and Class::DBI by hardburn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |