Agile software development using Kanban & Scrum. We code Flex & Ruby on Rails in Auckland, New Zealand.

  • Viewing all posts tagged "builder"

  • Builder pattern is so easy in Robotlegs

    The Builder Pattern is a breeze in Robotlegs

    public class ConcreteWidgetBuilder implements IWidgetBuilder {
    
      [Inject]
      public var injector:IInjector;
    
      public function buildPart(parameterised:IThing):IWidget {
        var widget:IWidget = injector.getInstance(IWidget);
        widget.param = parameterised;
    
        return widget;
      }
    
    }
    

    Parameterized builder

    If you want to control what gets instanced based on a parameter:

    public class ConcreteWidgetBuilder implements IWidgetBuilder {
    
      [Inject]
      public var injector:IInjector;
    
      public function buildPart(parameterised:IThing):IWidget {
        var interface:Class;
    
        switch(parameterised.style) {
          case ThingConst.COOL:
            interface = ICoolWidget;
            break;
          case ThingConst.HOT:
            interface = IHotWidget;
            break;
          default:
            interface = IDefaultWidget;
        }
    
        var widget:IWidget = injector.getInstance(interface);
        widget.param = parameterised;
    
        return widget;
      }
    
    }
    

    Bit freakin’ sexy if you ask me.