On Mon, 08 Nov 2004 17:37:49 +1300 (NZDT), John Carter
<[EMAIL PROTECTED]> wrote:
> 
> 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.
> 

The Naked Objects implementation lets you choose which objects are
"naked" and doesnt expose the internals of an object to the user, only
the non-private interface. Properties are accessed though getters and
setters as usual and private methods cannot be called from the outside
world.
The main idea behind this is permiting direct access to the underlying
domain model of your application and automatic generation of the GUI.
This way, you only have to worry about coding the domain logic and
building a very tight domain model.
I think its a beautiful idea and I used it to prototype a system with
great success. I would like to try and plug a custom GUI toolkit into
it.

Cheers,
Luiz Esmiralha


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