Years ago, before the name Naked Object was even coined, I constructed a
naked object interface.

It failed.

Dismally.

I mean, I personally used it to tweak things, but my users uniformly
hated it.

Today I stumbled across the notion again at
   http://www.nakedobjects.org

and the thought collided in my mind with a quote from Bjarne
Stroustrup:
   http://www.artima.com/intv/goldilocks3.html
"My rule of thumb is that you should have a real class
  with an interface and a hidden representation if and only if you can
  consider an invariant for the class."

So my first Thought for the Day on Naked Objects....
    "Objects should never be so Naked as
     to be able to corrupt the invariant." 
ie. Not all methods and setters should be visible, only those
invariant preserving public accessors.

Thought 2...

That Naked Object system I did all those many years ago exposed the
internal representation of the object. In that case it was water level
in a cell measured in meters. The users cared not a fig for water
level. They thought in terms of volume (m^3), an a very complex routine
mapped between the two.


So my second Thought for the Day on Naked Objects....
   If the internal representation differs painfully from the users
   external view on it, the Naked Object should by default dress itself
   up a little to present the  users view.

ie. Naked Objects Bad. Flimsily dressed objects with mostly see-through
clothing and the occasional corset - Good.


John Carter                             Phone : (64)(3) 358 6639
Tait Electronics                        Fax   : (64)(3) 359 4632
PO Box 1645 Christchurch                Email : [EMAIL PROTECTED]
New Zealand

The universe is absolutely plastered with the dashed lines exactly one
space long.


To Post a message, send it to:   [EMAIL PROTECTED]

To Unsubscribe, send a blank message to: [EMAIL PROTECTED]

ad-free courtesy of objectmentor.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to