Re: OO Design induces an existential crisis



On Fri, 29 Jul 2005 07:03:19 GMT, <adaworks@xxxxxxxxxxxxx> wrote:

>
>"AndyW" <foo_@xxxxxxxxxxxxxxxx> wrote in message
>news:kmree1t4emdsqbin8pv9bmfr86ouo7cddv@xxxxxxxxxx
>>
>> You have described an abstraction by calling it a container not an
>> object. The purpose of the discussion is to be able to tell the
>> difference and once thus knowing the difference being able to modle
>> them using different techniques.
>>
>The object you were describing is a container. Containers are one
>of the most common objects in OOP. It is not improper to ask what
>kind of object is it.
>
A container is not an object, its an abstraction. If you dont agree
then tell me why it isnt and then point out some real world instances
of containers.

>Each object has changeable attributes and non-changeable attributes.
>The color of the container is probably non-changeable. If so, we
>don't need methods related to color. The handle does not change.
>Therefore we don't need methods for the handle. The state of
>the container does change. It either contains something or it does
>not. We need methods to reflect that.
>
>Software is about change. If nothing changes, there is usually no
>point in creating a software object. OOP is about encapsulating
>that change and providing an interface (public methods) to effect
>and inspect those changes. If nothing changes, we don't need
>methods. Does the handle change? Probably not.
>
>Failure to understand the importance of change, how to reflect
>change, and how to design for change, is a fundamental problem
>for novices in object technology. It seems this is also a frequent
>problem for those who have a long experience with object
>technology.
>
>Once this is understood, there is no existential crisis.
>
>Richard Riehle
>

.



Relevant Pages

  • Re: OO Design induces an existential crisis
    ... (is it really a coffee cup or just a cup - what happens if you put ... Dont go for things like container - because thats abstration. ... The only action this device has (another abstraction there) is that I ... Tangibility - its a cup, it exists, I can see, touch try and eat it. ...
    (comp.object)
  • Re: Run-time accessibility checks
    ... Create interface of the container type. ... necessary so that the invariants of an abstraction are preserved). ... No, if index is unordered and not dense, then iteration is meaningless. ...
    (comp.lang.ada)
  • Re: Run-time accessibility checks (was: Construction initialization problem)
    ... container, *because* it is of a different type. ... abstraction, I think you have to go to a fully dynamic language (which Ada ... How to prevent update when a cursor is ... As far as a concurrent environment goes, ...
    (comp.lang.ada)
  • Re: Run-time accessibility checks
    ... but requires C to inherit a modified interface of its elements. ... necessary so that the invariants of an abstraction are preserved). ... without passing its constraint in some form to the container. ... user-defined assignment also must have a user-defined assignment? ...
    (comp.lang.ada)
  • Re: OO Design induces an existential crisis
    ... The object you were describing is a container. ... point in creating a software object. ... change, and how to design for change, is a fundamental problem ... for novices in object technology. ...
    (comp.object)