Re: Clean Object Class Design -- What is it?

From: Bob Badour <bbadour_at_golden.net>
Date: Sun, 2 Sep 2001 00:44:01 -0400
Message-ID: <5Oik7.651$8Z2.127730827_at_radon.golden.net>


Jim Melton wrote in message <3B916B92.57A9F061_at_Technologist.com>...
>
>Bob Badour wrote:
>
>> >> I understand that ODBMSes require one to program in order to enforce
>> >> integrity because they generally treat integrity enforcement as
nothing
>> more
>> >> than a sub-task in every other task (or method, if you prefer).
>> >
>> >Well, it depends. If you mean referential integrity, your statement is
not
>> >universally true. If, on the other hand, you mean constraints such as "a
>> >location is expressed as a latitude/longitude pair in decimal degrees
where
>> >east/north are positive" then yes, ODBMS require programming. And so, I
>> submit,
>> >would any other database.
>>
>> Nope. Such a declaration is still just a declaration. Where does one
define
>> pre- and post-conditions? What are pre- and post-conditions? What about
>> other invariants and assertions? OO proponents have widely stipulated in
>> this thread and other recent threads that constraints are baked into
methods
>> such as insert and delete.
>
>Then we are debating language capabilities and not paradigms.

There goes that word again. Whatever we are discussing, it is not paradigms. I consider the word meaningless as used -- unless you mean "example" as in the example subtype/supertype relationship discussed in the other sub-thread.

>I program in C++.
>C++ does not have any way to declare pre/post conditions (and automatically
>generate the requisite code to enforce them). Other languages do.

#include <assert.h>

>Which leads me to think that while it may be possible to declare pre/post
>conditions and allowable values and other integrity constraints, unless
those
>declarations are "executed" to enforce the constraint they are just so much
>window dressing.

The declarations are used in the compilation of executed operations as specified for any application.

>So I guess I'll stick with my (albeit wrong in your opinion)
>definition that such statements are indeed programming.

Applications are programming. Constraint declaration is not. Received on Sun Sep 02 2001 - 06:44:01 CEST

Original text of this message