SlideShare a Scribd company logo
1 of 21
Extensions & Utilities
Who am I
Yennick Trevels
Rich Application Consultant @ iDA MediaFoundry
Adobe Flex 4 Certified Expert
Robotlegs
3rd generation MVC(S) Micro architecture
Lightweight
Dependency Injection
Signals extension
Use signals to trigger commands
Automatic injection of signal parameters
into the commands
AS3-Signals: example
var contactsLoaded:Signal = new Signal(ArrayCollection);
contactsLoaded.add(contactsLoadedHandler);
contactsLoaded.dispatch(contacts);
private function contactsLoadedHandler(contacts:ArrayCollection):void
{
// handler code
}
Signals extension: Usage
Context
public class MyContext extends SignalContext {
override public function startup():void {
… //other injection mappings
injector.mapSingleton(SaveContactSignal);
signalCommandMap.mapSignalClass(
SaveContactSignal, SaveContactCommand);
}
}
Signals extension: Usage
Mediator
public class ContactFormMediator extends Mediator{
[Inject]
public var saveContact:SaveContactSignal;
...
private function saveButton_click(event:MouseEvent):void {
saveContact.dispatch(contact);
}
}
Signals extension: Usage
Command
public class SaveContactCommand extends SignalCommand {
[Inject]
public var contact:Contact;
...
override public function execute():void {
contactService.saveContact(contact);
}
 }
ModuleContext
Modular extension
Without the extension:
 One Context per module
 Each module works independently
 No communication between modules
Facilitates communication between modules
Shell
IModuleEventDispatcher
ModuleContext
Module
ModuleContext
Module
Modular extension: Usage
Module Context
public class MyModuleContext extends ModuleContext { ... }
Module general Mediator
public class MyModuleMediator extends ModuleMediator {
...
private function exitModuleHandler():void {
var exitModuleEvent:ModuleEvent = new
ModuleEvent(ModuleEvent.EXIT_MODULE);
dispatchToModules(exitModuleEvent);
}
}
Modular extension: Usage
Shell/Module Mediator
public class ShellMediator extends ModuleMediator {
override public function onRegister():void {
eventMap.mapListener(moduleDispatcher,
ModuleEvent.EXIT_MODULE, moduleExitHandler,
ModuleEvent);
}
...
}
Signals & Modular
extension?
Not possible by default
Solution
1. Take the SignalContext code and copy it into a new
ModuleSignalContext class
2. Take the ModularContext code and merge it into the new
class
3. Done & works like a charm
OptionCommandMap utility
Run different command based on selected option
Use case:
1. User has the choice between several options
2. Based on the chosen option a different command will
run
Automatic removal of mappings after one option
has been processed
Removes the need for an custom event per option
OptionCommandMap utility
Streamlines the following:
Setup
commandMap.mapEvent(SelectCharacterEvent.MAGE,
SelectMageCommand, SelectCharacterEvent);
commandMap.mapEvent(SelectCharacterEvent.WARRIOR,
SelectWarriorCommand, SelectCharacterEvent);
Once a command has been processed
commandMap.unmapEvent(SelectCharacterEvent.MAGE,
SelectMageCommand, SelectCharacterEvent);
commandMap.unmapEvent(SelectCharacterEvent.WARRIOR,
SelectWarriorCommand, SelectCharacterEvent);
OptionCommandMap:
Usage
Context
override protected function mapInjections():void {
super.mapInjections();
injector.mapValue(IOptionCommandMap, new
OptionCommandMap(eventDispatcher, injector, reflector));
}
Inside Mediator or Command
//map the options
optionCommandMap.mapOption(1, SelectMageCommand);
optionCommandMap.mapOption(2, SelectWarriorCommand);
OptionCommandMap:
Usage
Trigger an option
var event:OptionEvent = new OptionEvent(OptionEvent[“OPTION_1”]);
dispatch(event);
Macrobot utility
execute commands in:
Sequence: SequenceCommand
Parallel: ParallelCommand
Macrobot: Usage
Parallel
var command:ParallelCommand = new ParallelCommand();
command.addCommand(FirstCommand);
command.addCommand(SecondCommand);
Command.addCompletionListener(command_completeHandler);
command.execute();
private function command_completeHandler(success:boolean):void
{
//perform completion code here
}
Macrobot: Usage
Sequence
var command:SequenceCommand = new SequenceCommand();
command.addCommand(FirstCommand);
command.addCommand(SecondCommand);
Command.addCompletionListener(command_completeHandler);
command.execute();
private function command_completeHandler(success:boolean):void
{
//perform completion code here
}
Resources
Robotlegs
http://www.robotlegs.org/
Signals extension
https://github.com/joelhooks/signals-extensions-CommandSignal
Modular extension
https://github.com/joelhooks/robotlegs-utilities-Modular
OptionCommandMap utility
https://github.com/Stray/robotlegs-utilities-OptionCommandMap
Macrobot utility
https://github.com/Aaronius/robotlegs-utilities-Macrobot

More Related Content

Viewers also liked

Ivan Shaban - Robotlegs 2+
Ivan Shaban - Robotlegs 2+Ivan Shaban - Robotlegs 2+
Ivan Shaban - Robotlegs 2+Flash Conference
 
Luxury beauty brands - Sustainability is good for business
Luxury beauty brands - Sustainability is good for businessLuxury beauty brands - Sustainability is good for business
Luxury beauty brands - Sustainability is good for businessEdwige Riou
 
Luxury beauty brands - Getting communication right between global teams
Luxury beauty brands - Getting communication right between global teamsLuxury beauty brands - Getting communication right between global teams
Luxury beauty brands - Getting communication right between global teamsEdwige Riou
 
MY INTERN EXPERIENCE @ CPL
MY INTERN EXPERIENCE @ CPLMY INTERN EXPERIENCE @ CPL
MY INTERN EXPERIENCE @ CPLaltheaibba
 
Analisis konteks
Analisis konteksAnalisis konteks
Analisis konteksHabib Rifki
 
Live the khas lifestyle
Live the khas lifestyleLive the khas lifestyle
Live the khas lifestyleNayyer Razaq
 
Durda presentation
Durda presentationDurda presentation
Durda presentationndurda
 
Slick - The Structured Way
Slick - The Structured WaySlick - The Structured Way
Slick - The Structured WayYennick Trevels
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React TogetherSebastian Pederiva
 
React server side rendering performance
React server side rendering performanceReact server side rendering performance
React server side rendering performanceNick Dreckshage
 
Luxury beauty brands - POS Production Models
Luxury beauty brands - POS Production ModelsLuxury beauty brands - POS Production Models
Luxury beauty brands - POS Production ModelsEdwige Riou
 

Viewers also liked (14)

Ivan Shaban - Robotlegs 2+
Ivan Shaban - Robotlegs 2+Ivan Shaban - Robotlegs 2+
Ivan Shaban - Robotlegs 2+
 
Luxury beauty brands - Sustainability is good for business
Luxury beauty brands - Sustainability is good for businessLuxury beauty brands - Sustainability is good for business
Luxury beauty brands - Sustainability is good for business
 
Economics
EconomicsEconomics
Economics
 
Ethics
EthicsEthics
Ethics
 
Luxury beauty brands - Getting communication right between global teams
Luxury beauty brands - Getting communication right between global teamsLuxury beauty brands - Getting communication right between global teams
Luxury beauty brands - Getting communication right between global teams
 
MY INTERN EXPERIENCE @ CPL
MY INTERN EXPERIENCE @ CPLMY INTERN EXPERIENCE @ CPL
MY INTERN EXPERIENCE @ CPL
 
equal employment
equal employment equal employment
equal employment
 
Analisis konteks
Analisis konteksAnalisis konteks
Analisis konteks
 
Live the khas lifestyle
Live the khas lifestyleLive the khas lifestyle
Live the khas lifestyle
 
Durda presentation
Durda presentationDurda presentation
Durda presentation
 
Slick - The Structured Way
Slick - The Structured WaySlick - The Structured Way
Slick - The Structured Way
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
 
React server side rendering performance
React server side rendering performanceReact server side rendering performance
React server side rendering performance
 
Luxury beauty brands - POS Production Models
Luxury beauty brands - POS Production ModelsLuxury beauty brands - POS Production Models
Luxury beauty brands - POS Production Models
 

Similar to Robotlegs Extensions

Architecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCArchitecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCmarcocasario
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docxssuser1c8ca21
 
關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事Erin Lin
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message BrokersPROIDEA
 
Android development training programme , Day 3
Android development training programme , Day 3Android development training programme , Day 3
Android development training programme , Day 3DHIRAJ PRAVIN
 
Java rmi example program with code
Java rmi example program with codeJava rmi example program with code
Java rmi example program with codekamal kotecha
 
Java programming concept
Java programming conceptJava programming concept
Java programming conceptSanjay Gunjal
 
15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetoothWindowsPhoneRocks
 
RL2 Dot Brighton
RL2 Dot BrightonRL2 Dot Brighton
RL2 Dot BrightonShaun Smith
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLelliando dias
 
Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008marcocasario
 
20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)LeClubQualiteLogicielle
 
The Next Step in AS3 Framework Evolution
The Next Step in AS3 Framework EvolutionThe Next Step in AS3 Framework Evolution
The Next Step in AS3 Framework EvolutionFITC
 
Magento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 SummaryMagento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 SummaryYireo
 
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdf
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdfJEDI Slides-Intro2-Chapter20-GUI Event Handling.pdf
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdfMarlouFelixIIICunana
 

Similar to Robotlegs Extensions (20)

Architecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVCArchitecting ActionScript 3 applications using PureMVC
Architecting ActionScript 3 applications using PureMVC
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docx
 
Vb.net iv
Vb.net ivVb.net iv
Vb.net iv
 
Maf3 - Part 1
Maf3 - Part 1Maf3 - Part 1
Maf3 - Part 1
 
關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事
 
Android session-5-sajib
Android session-5-sajibAndroid session-5-sajib
Android session-5-sajib
 
How to build typing indicator in a Chat app
How to build typing indicator in a Chat appHow to build typing indicator in a Chat app
How to build typing indicator in a Chat app
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers
 
Android development training programme , Day 3
Android development training programme , Day 3Android development training programme , Day 3
Android development training programme , Day 3
 
Java rmi example program with code
Java rmi example program with codeJava rmi example program with code
Java rmi example program with code
 
Java programming concept
Java programming conceptJava programming concept
Java programming concept
 
15 sensors and proximity nfc and bluetooth
15   sensors and proximity nfc and bluetooth15   sensors and proximity nfc and bluetooth
15 sensors and proximity nfc and bluetooth
 
RL2 Dot Brighton
RL2 Dot BrightonRL2 Dot Brighton
RL2 Dot Brighton
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UML
 
Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008Flex Daily Solutions @ FITC 2008
Flex Daily Solutions @ FITC 2008
 
Maf Event Bus
Maf Event BusMaf Event Bus
Maf Event Bus
 
20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)
 
The Next Step in AS3 Framework Evolution
The Next Step in AS3 Framework EvolutionThe Next Step in AS3 Framework Evolution
The Next Step in AS3 Framework Evolution
 
Magento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 SummaryMagento 2 Seminar - Anton Kril - Magento 2 Summary
Magento 2 Seminar - Anton Kril - Magento 2 Summary
 
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdf
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdfJEDI Slides-Intro2-Chapter20-GUI Event Handling.pdf
JEDI Slides-Intro2-Chapter20-GUI Event Handling.pdf
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Robotlegs Extensions

Editor's Notes

  1. Implement Enterprise RIA applications with Java & Flex Following robotlegs for a while now
  2. Short overview of Robotlegs structure
  3. Alternative to events in actionscript
  4. SignalCommand = actually just a Robotlegs Command, but with the advantage that parameters from the signal dispatch call will be automatically injected
  5. Possible to work in a modular fashion with robotlegs without the extension
  6. Mediator which mediates the main view of your module  exists as long as your module  can dispatch module events or listener to events from other modules/shell application
  7. Why OptionCommandMap: - Removes the need for an event class per option - automatic cleanup
  8. Why OptionCommandMap: - Removes the need for an event class per option - automatic cleanup
  9. Dependency injection is performed before executing the commands  no need to worry about that