Austin Kottke's Code Site

Thoughts about Architecture – Java, C/C++, JS, Objective-C, Swift, Groovy, Grails, (RIP Flash)

March 25th, 2011

RobotLegs < Pure MVC - My rant

actionscript, actionscript 3, as3, flash, flex, by austin.

So, Im always digging into new frameworks and trying to understand the philosophies behind why developers chose to make new frameworks to help others.

After falling in love with the new [Inject] metatag and thinking it’s the coolest thing since Java has been doing this for years anyway with Annotations, I thought this framework must be rad =)

So after hours of looking at the documentation, the one thing I found out and is the bane of all robot legs development is CLASS NAMING. Lord have mercy, there is a base class called “Actor” – THATS THE NAME OF THE CLASS. Ok, so after reading GoF and all these development books over the years the one thing that java/flex/flash developers have a huge problem is is correctly conveying the names of classes. Conceptually representing something. With that said “ACTOR” is the worst name for a class ever – I mean, it communicates absolutely nothing! The concept is so ambiguous and it hurts just thinking about it. And it’s used EVERYWHERE. PureMVC atleast names the classes by common design patterns so it’s clear to everyone using it if you’ve studied these patterns.

Lord have mercy – can we just get a pure mvc framework with an [Inject] meta tag? Ill be happy then =)

Please follow and like us:

Back Top

Responses to “RobotLegs < Pure MVC - My rant”

  1. If it bothers you that much, fork the source and rename the class. If the naming of a single class is the worst of your concerns, I’d say you’re in pretty good shape.

    Nick Collins at Reply
  2. Have you given Parsley a shot? Meta tag injection and bi-directional data binding:

    Steve Kudirka at Reply
  3. Hi Austin,

    the Robotlegs team agree. It’s a crap name. But… what else would you call it?

    Basically it’s a class that is important in your app. A model or service. At one point there was a Model class and a Service class, but they’re actually identical- just include an injected eventDispatcher.

    So… I challenge you to rename that class! We might even use what you come up with in RL2. We don’t love ‘Context’ either.

    There is a software concept called the “Actor Model” which is not a terrible fit with what the Actor class provides in Robotlegs.

    The good news is that because it does so little, you can use Robotlegs without even extending Actor.

    I’m sorry if that put you off – it’s such a tiny thing, and we really did put enormous effort into good naming of methods and classes (even if we later thought of better names).

    Can you tell us what Actor *should* be called, in your opinion?

Leave a Reply

Your email address will not be published. Required fields are marked *