RL2
As above, but with:
A fluent API
Extensions (opt-in)
Bundles (presets)
Configs
Logging (built-in)
Module autowiring
https://github.com/robotlegs/robotlegs-framework/tree/version2 4
context = new Context()
.extend(MVCSBundle)
.configure(MyAppConfig, this);
No more extend and override
Opt-in extensions
Convenient, shareable bundles
Conventions for configuration
Consolidated startup process
framework/readme-context.md 8
context = new Context()
.extend(MVCSBundle)
.configure(MyAppConfig, this);
framework/readme-context.md 14
class ViewConfig
{
public function ViewConfig(mediatorMap:IMediatorMap)
{
mediatorMap.map(SomeView)
.toMediator(SomeMediator);
}
}
framework/readme-context.md 15
class MyModuleConfig implements IConfig
{
[Inject]
public var mediatorMap:IMediatorMap;
public function configure():void
{
mediatorMap.map(SomeView)
.toMediator(SomeMediator);
}
}
framework/readme-context.md 16
public class EventCommandMapExtension
implements IExtension
{
public function extend(context:IContext):void
{
context.injector
.map(IEventCommandMap)
.toSingleton(EventCommandMap);
}
}
extensions/eventCommandMap 18
Extensions are installed immediately:
context.extend(MyExtension)
~=
new MyExtension().extend(context)
extensions 19
An extension integrates a single utility or library with a
Robotlegs context
A bundle installs a selection of extensions and
configurations into a Robotlegs context
extensions 25