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