Musings on Architect, MVC, Nested Behaviors

Sannyasin Brahmanathaswami brahma at
Wed Dec 26 14:08:58 EST 2018

Happy Holidays Trevor

Thank you for the thorough response. The Levure architecture, and what we came up with SivaSiva app is very close. It would not really be to difficult to port it one day to Levure. 

With that in mind, though you say "Levure doesn't have a strong opinion one way or the other. There is no code that is designed specifically around the Model-view-controller (MVC)
pattern." I want to start using you conventions. A few more questions...

1) "to separate each stack with UI objects into a separate stack
file and to use behaviors assigned to the card "

You keep these in a separate folder, 1 per stack and behavior(s)?

2) Are behaviors loaded in memory when a user loads the card and "unloaded" from RAM when the  users closes card? That question goes to performance on libraries (open at start up) versus behaviors. I don't know if these texts script will impact performance, relative to a JPEG that you bring in, or a deep dbase query... Mark once said that scripts  are not "a problem" but more about what they tell the CPU to do and what  UI is doing to the pixels on screen - Images etc. But I keep wondering about that.

3) What do you think of nested behaviors,  where the "uber parent" is a model and the child behavior is a view/UI behavior, controller VS just keeping that model in libraries that remain open all the time? Goes to #2 above.  

My guess is that, if the code is being reused enough, it's just a text file (hardly adds to the RAM) , and debugging--  also "to figure out how all of the code works together when you revisit the project or try to add a developer" -- that using a library and keeping it in a library folder, probably keeps it simple/more easily understood.


 Trevor DeVore via wrote:

    One final thought I will add is this – whatever you do come up with,
    consider if it will be understandable to you and other developers working
    on the project later on. It is possible to get so wrapped up in separation
    of code that it becomes very difficult to figure out how all of the code
    works together when you revisit the project or try to add a developer.
    Search for the right balance.

More information about the Use-livecode mailing list