SlideShare a Scribd company logo
1 of 62
[robotlegs]
[robotlegs]




Rise of the Modules
Once Upon a
Time in Spain
A little bit of Background




      Meetup in Spain
+ Meetup in Sherwood Forest
  + Great Community-Ideas
  == What RL2 is all about
Swiftsuspenders 2
Swiftsuspenders 2




Fluent Interface
Swiftsuspenders 2 - Fluent Interface




injector.map(type:Class)
Swiftsuspenders 2 - Fluent Interface




map(type:Class, name:String = '')
Swiftsuspenders 2 - Fluent Interface




map(type:Class).asSingleton()
Swiftsuspenders 2 - Fluent Interface




map(type:Class).toSingleton(type:Class)
Swiftsuspenders 2 - Fluent Interface




map(type:Class).toType(type:Class)
Swiftsuspenders 2 - Fluent Interface




map(type:Class).toValue(value:Object)
Swiftsuspenders 2




New Features
Swiftsuspenders 2 - New Features




[Inject(optional=true)]
Swiftsuspenders 2 - New Features




map(type:Class).toProvider(
    provider:DependencyProvider)
Swiftsuspenders 2 - New Features




    DependencyProvider:
apply(targetType:Class, injector:Injector,
      injectParameters:Array):Object
Swiftsuspenders 2 - New Features




                      Example:
return Log.getLogger(getQualifiedClassName(targetType));
Swiftsuspenders 2 - New Features




map(type:Class).soft() //and .strong()
Swiftsuspenders 2 - New Features




map(type:Class).local() //and .shared()
Swiftsuspenders 2 - New Features




injector.setDefaultProvider(provider);
Swiftsuspenders 2 - New Features




      injector dispatches
 PRE_INSTANTIATE, POST_INSTANTIATE,
PRE_CONSTRUCT and POST_CONSTRUCT
Swiftsuspenders 2 - New Features




injector.destroy()
Swiftsuspenders 2 - New Features




map(type:Class).seal():Object
 ( and unseal(key:Object))
Swiftsuspenders 2




Changes
Swiftsuspenders 2 - Changes




No More injector.instantiate(type:Class)
Swiftsuspenders 2 - Changes




Can Re-Inject Into Instances
Swiftsuspenders 2 - Changes




> 500% Faster Reflection
 > 300% Faster Injection
Robotlegs 2
Robotlegs 2




Modularity
Robotlegs 2 - Modularity




 Lean Core
Robotlegs 2 - Modularity




            Lean Core
A Toolkit around an Injector
Robotlegs 2 - Modularity




            Lean Core
A Toolkit around an Injector
Contains nearly no user-facing functionality
Robotlegs 2 - Modularity




            Lean Core
A Toolkit around an Injector
Contains nearly no user-facing functionality
Makes no assumptions about how you work
Robotlegs 2 - Modularity




Application Modularity built-in
Robotlegs 2 - Modularity




Application Modularity built-in
Nested Contexts Just Work
Robotlegs 2 - Modularity




Application Modularity built-in
Nested Contexts Just Work
Multiple contextViews per Module
Robotlegs 2




Extensions
Robotlegs 2 - Extensions




RL2 is Batteries Included
Robotlegs 2 - Extensions




 Bundles make using
multiple Extensions easy
Robotlegs 2 - Extensions




Installing 3rd party Extensions
       is a Piece Of Cake
Robotlegs 2




Usage
Robotlegs 2 - Usage




DSLs FTW!
Robotlegs 2 - Usage




Chaining separates Concerns
Robotlegs 2 - Usage




Consistent and Meaningful
   Naming of Methods
Robotlegs 2 - Usage




Guards and Hooks everywhere
Robotlegs 2 - Usage




Guards and Hooks everywhere
 Guards conditionally prevent activity
Robotlegs 2 - Usage




Guards and Hooks everywhere
 Guards conditionally prevent activity
 Hooks inform about activity
Robotlegs 2




In Other News
Robotlegs 2 - In Other News




View Agnosticism
Robotlegs 2 - In Other News




Role-Based Mediation
Robotlegs 2




The Port
Robotlegs 2 - The Port




Phase I: Verify the Injector
Robotlegs 2 - The Port




Phase II: Port without Porting
Robotlegs 2 - The Port




Phase III: De-Monolithicize
Robotlegs 2 - The Port




Phase IV: De-Cruft
Robotlegs 2 - The Port




      Phase IV: De-Cruft
Migrate to new Injector API
Robotlegs 2 - The Port




     Phase IV: De-Cruft
Migrate to new Injector API
               CommandMap API
Robotlegs 2 - The Port




     Phase IV: De-Cruft
Migrate to new Injector API
               CommandMap API
               MediatorMap API
Robotlegs 2 - The Port




      Phase IV: De-Cruft
Migrate to new Injector API
               CommandMap API
               MediatorMap API
Add [PostConstruct] to your Mediators
Robotlegs 2 - The Port




      Phase IV: De-Cruft
Migrate to new Injector API
               CommandMap API
               MediatorMap API
Add [PostConstruct] to your Mediators
Remove Actor and Command
Robotlegs 2




An Example
Robotlegs 2 - An Example




     Porting Jon Toland’s
CafeTownsend Implementation

More Related Content

Viewers also liked

Making of blog banner media
Making of blog banner mediaMaking of blog banner media
Making of blog banner mediajessiekeegan
 
Powerpoint mack jackson
Powerpoint   mack jacksonPowerpoint   mack jackson
Powerpoint mack jacksonaiimnevada
 
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...Rakuten Brasil
 
IniciadorKids-CREA
IniciadorKids-CREAIniciadorKids-CREA
IniciadorKids-CREAineverycrea
 
Kerrang! Cover Analysis
Kerrang! Cover AnalysisKerrang! Cover Analysis
Kerrang! Cover AnalysisLukaMedia
 
MLA Documentation
MLA DocumentationMLA Documentation
MLA Documentationapcoyote
 
13號 黃蓮茵
13號 黃蓮茵13號 黃蓮茵
13號 黃蓮茵輝 哲
 
Casting 2014 planilla general cat damas
Casting 2014 planilla general cat damasCasting 2014 planilla general cat damas
Casting 2014 planilla general cat damasAndrés Canclini
 
Casting 2014 planilla general cat todas
Casting 2014 planilla general cat todasCasting 2014 planilla general cat todas
Casting 2014 planilla general cat todasAndrés Canclini
 
Κεφάλαιο 2
Κεφάλαιο 2Κεφάλαιο 2
Κεφάλαιο 2fgousios
 
Write your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieWrite your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieAnn Halloran
 
Goodwin's theory
Goodwin's theoryGoodwin's theory
Goodwin's theorybarnard10
 
第一組婚姻報告
第一組婚姻報告第一組婚姻報告
第一組婚姻報告輝 哲
 
Foreclosure
ForeclosureForeclosure
Foreclosuremjurow
 
Personalized Learning at Your Fingertips: Building a PLN
Personalized Learning at Your Fingertips: Building a PLNPersonalized Learning at Your Fingertips: Building a PLN
Personalized Learning at Your Fingertips: Building a PLNTorrey Trust
 

Viewers also liked (20)

Making of blog banner media
Making of blog banner mediaMaking of blog banner media
Making of blog banner media
 
7 quality tools
7 quality tools7 quality tools
7 quality tools
 
Powerpoint mack jackson
Powerpoint   mack jacksonPowerpoint   mack jackson
Powerpoint mack jackson
 
Tirupur
TirupurTirupur
Tirupur
 
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...
Henrique Troitinho: 10 dicas para aumentar o ROI de suas campanhas de Links P...
 
IniciadorKids-CREA
IniciadorKids-CREAIniciadorKids-CREA
IniciadorKids-CREA
 
Kerrang! Cover Analysis
Kerrang! Cover AnalysisKerrang! Cover Analysis
Kerrang! Cover Analysis
 
MLA Documentation
MLA DocumentationMLA Documentation
MLA Documentation
 
13號 黃蓮茵
13號 黃蓮茵13號 黃蓮茵
13號 黃蓮茵
 
Casting 2014 planilla general cat damas
Casting 2014 planilla general cat damasCasting 2014 planilla general cat damas
Casting 2014 planilla general cat damas
 
Casting 2014 planilla general cat todas
Casting 2014 planilla general cat todasCasting 2014 planilla general cat todas
Casting 2014 planilla general cat todas
 
Κεφάλαιο 2
Κεφάλαιο 2Κεφάλαιο 2
Κεφάλαιο 2
 
Write your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieWrite your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie Barrie
 
Goodwin's theory
Goodwin's theoryGoodwin's theory
Goodwin's theory
 
第一組婚姻報告
第一組婚姻報告第一組婚姻報告
第一組婚姻報告
 
Amsc och01
Amsc och01Amsc och01
Amsc och01
 
Foreclosure
ForeclosureForeclosure
Foreclosure
 
NSW Secondary Principals
NSW Secondary PrincipalsNSW Secondary Principals
NSW Secondary Principals
 
Greek gods and goddesses
Greek gods and goddessesGreek gods and goddesses
Greek gods and goddesses
 
Personalized Learning at Your Fingertips: Building a PLN
Personalized Learning at Your Fingertips: Building a PLNPersonalized Learning at Your Fingertips: Building a PLN
Personalized Learning at Your Fingertips: Building a PLN
 

Similar to Fitc 2012 - rise of the modules

try { harder } 2011 Inception of Control
try { harder } 2011   Inception of Controltry { harder } 2011   Inception of Control
try { harder } 2011 Inception of Controltschneidereit
 
Building android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...
Building  android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...Building  android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...
Building android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...Hammad Tariq
 
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016Tatiane Aguirres Nogueira
 
From Complexity to Clarity: Crafting Seamless DI with Uber FX
From Complexity to Clarity: Crafting Seamless DI with Uber FXFrom Complexity to Clarity: Crafting Seamless DI with Uber FX
From Complexity to Clarity: Crafting Seamless DI with Uber FXTemuri Takalandze
 
Inside neutron 2
Inside neutron 2Inside neutron 2
Inside neutron 2Robin Gong
 
Keeping hundreds of code repositories consistent, and staying sane by Vincent...
Keeping hundreds of code repositories consistent, and staying sane by Vincent...Keeping hundreds of code repositories consistent, and staying sane by Vincent...
Keeping hundreds of code repositories consistent, and staying sane by Vincent...Agile India
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsArnaud Bouchez
 
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...InfluxData
 
Vision Based Autonomous Mobile Robot Navigation
Vision Based Autonomous Mobile Robot NavigationVision Based Autonomous Mobile Robot Navigation
Vision Based Autonomous Mobile Robot NavigationNiaz Mohammad
 
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysisMonteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysisotb
 
ECET 3640 Group 2 Project Report
ECET 3640 Group 2 Project ReportECET 3640 Group 2 Project Report
ECET 3640 Group 2 Project ReportLogan Isler
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Aljoscha Krettek
 
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.VitaliyMakogon
 
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward
 
Wireless bomb disposal robot ppt
Wireless bomb disposal robot pptWireless bomb disposal robot ppt
Wireless bomb disposal robot pptAbhishek Gupta
 
Serverless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopServerless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopLuciano Mammino
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core conceptsCodemotion
 

Similar to Fitc 2012 - rise of the modules (20)

try { harder } 2011 Inception of Control
try { harder } 2011   Inception of Controltry { harder } 2011   Inception of Control
try { harder } 2011 Inception of Control
 
Building android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...
Building  android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...Building  android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...
Building android apps with MVP, Dagger, Retrofit, Gson, JSON, Kotlin Data Cl...
 
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
 
From Complexity to Clarity: Crafting Seamless DI with Uber FX
From Complexity to Clarity: Crafting Seamless DI with Uber FXFrom Complexity to Clarity: Crafting Seamless DI with Uber FX
From Complexity to Clarity: Crafting Seamless DI with Uber FX
 
Inside neutron 2
Inside neutron 2Inside neutron 2
Inside neutron 2
 
Keeping hundreds of code repositories consistent, and staying sane by Vincent...
Keeping hundreds of code repositories consistent, and staying sane by Vincent...Keeping hundreds of code repositories consistent, and staying sane by Vincent...
Keeping hundreds of code repositories consistent, and staying sane by Vincent...
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side Notifications
 
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...
Monitoring and Alerting with InfluxDB 2.0 | Nate Isley & Deniz Kusefoglu | In...
 
Vision Based Autonomous Mobile Robot Navigation
Vision Based Autonomous Mobile Robot NavigationVision Based Autonomous Mobile Robot Navigation
Vision Based Autonomous Mobile Robot Navigation
 
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysisMonteverdi 2.0 - Remote sensing software for Pleiades images analysis
Monteverdi 2.0 - Remote sensing software for Pleiades images analysis
 
ECET 3640 Group 2 Project Report
ECET 3640 Group 2 Project ReportECET 3640 Group 2 Project Report
ECET 3640 Group 2 Project Report
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
 
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
 
Survey_Paper
Survey_PaperSurvey_Paper
Survey_Paper
 
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
Flink Forward Berlin 2017: Aljoscha Krettek - Talk Python to me: Stream Proce...
 
Wireless bomb disposal robot ppt
Wireless bomb disposal robot pptWireless bomb disposal robot ppt
Wireless bomb disposal robot ppt
 
Serverless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopServerless, The Middy Way - Workshop
Serverless, The Middy Way - Workshop
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core concepts
 
9 subprograms
9 subprograms9 subprograms
9 subprograms
 
Docker In the Bank
Docker In the BankDocker In the Bank
Docker In the Bank
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Fitc 2012 - rise of the modules

Editor's Notes

  1. \n
  2. \n\n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. Wanted: Better Name!\n
  11. \n
  12. \n
  13. But you might often be better off with a Null Implementation\n
  14. \n
  15. Write Your Own, and extend [Inject], if you like!\n
  16. Wrap the global Singleton interface of the Flex logger (and most others)\n
  17. - soft prefers mappings in ancestor injectors, strong is default\n- Modules can work in isolation and in bigger contexts\n
  18. - local prevents sharing with child injectors, shared is default\n
  19. Allows setting a provider that will get called as a last-ditch effort if no mapped provider is found for a type\nNot yet implemented\n
  20. PRE_INSTANTIATE | PRE_INSTANTIATE: Before and after creating a new instance\nPRE_CONSTRUCT | POST_CONSTRUCT: Before and after injecting into an instance\n
  21. Removes all mappings and invokes [PreDestroy] methods on all singletons\nNot yet implemented\n
  22. Prevents any changes to the mapping at all\nAllows usage of untrusted modules\nCan only be reverted with the unique key returned by seal()\n
  23. \n
  24. getInstance instantiates concrete types even without mapping\n
  25. Enables instance-pooling\n
  26. With Flash Player 10.1 and above\n
  27. Work in Progress\n
  28. \n
  29. makes decoupling through an IoC Container easy\nenables integration of actual functionality\nnot built around the Display List or an EventDispatcher\n
  30. makes decoupling through an IoC Container easy\nenables integration of actual functionality\nnot built around the Display List or an EventDispatcher\n
  31. makes decoupling through an IoC Container easy\nenables integration of actual functionality\nnot built around the Display List or an EventDispatcher\n
  32. Child Contexts get Child Injectors\nMultiple contextViews enable lower and upper GUIs for Games\n
  33. Child Contexts get Child Injectors\nMultiple contextViews enable lower and upper GUIs for Games\n
  34. \n
  35. Contains all the functionality of RL1 and much more\n
  36. Case in point: ClassicRobotlegsBundle contains 12 extensions\n
  37. Just include the SWC and require the Extension during Context Building\nExample later\n
  38. \n
  39. \n
  40. Example: the MediatorMap shouldn’t know specifics of the mapping\n
  41. Terms that work in one place work the same in other, similar places\nExample: `map` in CommandMap, Injector, MediatorMap\n`map` takes something available, `toX` something to create or return\n
  42. Guards enable finer-grained, customized mappings\nGuards: Validation\nHooks: Logging, Styling, Skinning\n
  43. Guards enable finer-grained, customized mappings\nGuards: Validation\nHooks: Logging, Styling, Skinning\n
  44. \n
  45. Use the classic Display List, Starling, 3D frameworks, Bitmap Rendering, Speakers/ Microphone, Camera\n(Lines between views and services blur, if you ask me. Think Chat Rooms)\n
  46. AKA Covariant Mediation\nEnables complete decoupling from view implementation details\n
  47. \n
  48. Swiftsuspenders 2 should be fully compatible, but better Safe Than Sorry\nSpecial build of Robotlegs 1.5.2 with Swiftsuspenders 2 included\n
  49. There’s an extension for that\nReplace RL1 SWC with RL2 and migration-extension\ntest\n
  50. There’s still a Context, but you don’t extend it\nInstead, you install Extensions and Configurations into it\n
  51. I’ll put Regexp’s on github\n\n
  52. I’ll put Regexp’s on github\n\n
  53. I’ll put Regexp’s on github\n\n
  54. I’ll put Regexp’s on github\n\n
  55. I’ll put Regexp’s on github\n\n
  56. \n
  57. \n