[cap-talk] objects and facets
Valerio Bellizzomi
devbox at selnet.org
Sat Dec 30 14:31:36 CST 2006
On 30/12/2006, at 18.58, David Hopwood wrote:
>Valerio Bellizzomi wrote:
>> On 29/12/2006, at 12.59, Bill Frantz wrote:
>>>david.nospam.hopwood at blueyonder.co.uk (David Hopwood) on Friday,
December
>>>29, 2006 wrote:
>>>
>>>>>A read-only facet on a Hashtable: I have to understand the read-only
>>>>>operations, and the fact that they don't change the contents of the
>>>>>Hashtable, but I also have to understand the existence of read-write
>>>>>facets, which may make my read-only facet return different results at
>>>>>different times. While from a programming language point of view,
>>>>>there may be two objects, their behavior is linked such that I can't
>>>>>consider them in isolation.
>>>>
>>>>Right; so you have to think in terms of distict "object" and
"composite"
>>>>concepts, regardless of what they are called. Do you have any
particular
>>>>reason to object (no pun intended) to those names?
>>>
>>>Well, when I think of this case, I think of one "thing" (bunch of
state)
>>>with two facets. That gives me a clear idea of what is going on. When
>>>I try to think of it as a composite, accessed by different objects, I
>>>don't get as clear an idea of their interaction.
>>>
>>>Having worked with MarkM, I have gotten used to having the terminology
>>>change regularly. Mostly these changes result in clearer explanations,
>>>but I don't think that is the case with the "object" and "composite"
>>>terminology. To be very informal about it, an object is something you
>>>can kick, and a facet is how you can kick it. To say a composite is
>>>something you can kick and an object is how you can kick it doesn't
>>>have the same resonance.
>>>
>>>I would be willing to entertain replacements for "facet". A
replacement
>>>might have more of the connotation of a collection of methods than
>>>"facet" does. (And no, I can't come up with any good suggestions off
>>>hand.)
>>
>> What about "interface" as a replacement for "facet" ?
>
>It conflicts with existing uses of "interface", e.g. as a type specifying
a
>set of required method signatures.
>
>>> A replacement might have more of the connotation of a collection of
>methods
>>> than "facet" does.
>
>"Interface" does have that connotation, but I am not convinced that is a
>good
>thing. In languages which have interface types, they specify what is
>statically
>known about the methods provided by a given object. A facet, OTOH,
>describes
>the role of an object as part of a composite/abstraction; different
facets
>are
>always different objects.
There are various alternatives, e.g. "role", "method set", "interface",
"bridge", etc., etc., etc.
Terms without conflicts are very rare in the today's terminology sea, an
example is "PC", which means Personal Computer, of course, but also means
Program Counter.
>
>--
>David Hopwood <david.nospam.hopwood at blueyonder.co.uk>
>
>_______________________________________________
>cap-talk mailing list
>cap-talk at mail.eros-os.org
>http://www.eros-os.org/mailman/listinfo/cap-talk
More information about the cap-talk
mailing list