Re: Mixing OO and DB

From: Patrick May <pjm_at_spe.com>
Date: Fri, 29 Feb 2008 18:33:23 -0500
Message-ID: <m2k5kn1gos.fsf_at_spe.com>


[Quoted] [Quoted] Marshall <marshall.spight_at_gmail.com> writes:
> On Feb 29, 9:54 am, Patrick May <p..._at_spe.com> wrote:
>> > The goal is not the issue. You described in general terms an
>> > impossible task that you said it was possible (even desirable!)
>> > to do.
>>
>> No, I explained a technique that is used frequently by
>> software developers familiar with OO.
>
> You specifically said "decouple." You didn't say "reduce coupling"
> or any such qualified term, you said "decouple." You may have
> some specific technique used frequently etc. etc. that even
> has some merit, but the specific terms you used cannot describe
> such a thing, because you described an impossibility.

[Quoted]      The fact that you don't understand it doesn't make it impossible. One approach is the Dependency Inversion Principle. The application code depends on an interface and one implementation of that interface uses a relational database. The database schema can change without impact to the application code because only the implementation of the interface is affected. The relational database implementation can be replaced with some completely different mechanism that implements the same interface and the application remains unaffected. Decoupling.

>> > I merely present a specific impossible instance of the general
>> > thing you claim is possible.
>>
>> You presented, well, nonsense.
>
> Yes, exactly. The specific instance of your general formula that
> I presented was nonsense.

     Your leap from what I wrote to what you wrote was nonsensical in and of itself.

>> ... but your silly example has nothing to do with what I wrote ...
>
> On the contrary: I followed your prescription quite closely,
> down to using the very terms you used.
>
> You gave the general formula:
>
> "decouple application code and database schema"
>
> I provided a specific instance of that formula:
>
> "decouple content management application code
> from general ledger database schema"

[Quoted]      The general ledger schema is not the schema for the content [Quoted] management application. I never said "allow any arbitrary schema to be used with any arbitrary application." You're being ridiculous.

Sincerely,

Patrick



S P Engineering, Inc. | Large scale, mission-critical, distributed OO
                       | systems design and implementation.
          pjm_at_spe.com  | (C++, Java, Common Lisp, Jini, middleware, SOA)
Received on Sat Mar 01 2008 - 00:33:23 CET

Original text of this message