Can use assign multiple behaviors to a single object?
Richard Gaskin
ambassador at fourthworld.com
Thu Aug 11 18:26:07 EDT 2016
Sannyasin Brahmanathaswami wrote:
> The hierarchical behavior method obfuscates the architecture in the
> sense that it is very hard to see the common parent behaviors that
> are "hiding" behind the other child behaviors.
That's a function of the tool, not a weakness in the language.
The Project Browser shows objects according to their physical location,
but I needed something different, a view that showed the full current
active message path. So I wrote one I call MPath, and included it in
devolution:
<http://fourthworld.net/lc/devo3-mpath.png>
Here's a view with nested behaviors:
<http://fourthworld.net/lc/devo-mpath-nested.png>
devolution is free to use, and available here:
<http://fourthworld.com/products/devolution/index.html>
As for the language, I believe the implementation of behaviors is a good
one.
If you need many handlers to define a specific class of objects, what is
the spreading them out across multiple scripts?
And if it were possible, what would happen if two (or more) of those
scripts contains handlers of the same name?
With the current nesting setup we have the same ability to use multiple
scripts to define a single class of objects, but much greater clarity
with being able to know which will override/overload others.
Even better, nested behavior scripts can act as sub- and super-classes,
with a script defining things for several classes of objects, and each
of those providing more specific routines unique to each class.
> p.s. I realize "parent-child" has been deprecated… that still doesn't
> mean, IMHO, it is not the optimal language choice for talking about
> behaviors.
Agreed. Behavior is too generic. The original name of parentScript was
more descriptive.
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list