SlideShare a Scribd company logo
1 of 42
[Swiftsuspenders]
Reasons for using
Inversion of Control
Reasons for using Inversion of Control




Separation of Concerns
Reasons for using Inversion of Control




Creation of complex Graphs
Reasons for using Inversion of Control




     Reduce Coupling by
getting rid of the Middle-Man
Reasons for using Inversion of Control




 Reduce Coupling by
Depending on Interfaces
What is an IoC-Container?
What is an IoC-Container?




    An Interpreter for
Dependency Configuration
What is an IoC-Container?




A Map of Request->Response-
   Pairs for Dependencies
What is an IoC-Container?




A Factory for Object-Graphs
What makes
IoC-Containers Complex?
What makes IoC-Containers Complex?




 Easy, Light-Weight
Configuration is Hard
What makes IoC-Containers Complex?




Ctor- and Method-Injection
What makes IoC-Containers Complex?




Named Injections
What makes IoC-Containers Complex?




  Different Ways to
Provide Dependencies
What makes IoC-Containers Complex?




    Live-Cycle
What makes IoC-Containers Complex?




Child-Injectors
What makes IoC-Containers Complex?




  Performance
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




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




        DependencyProvider:
apply(targetType:Class, injector:Injector):Object
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




injector.teardown(instance:Object):Boolean
Swiftsuspenders 2




Changes
Swiftsuspenders 2 - Changes




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




   injector.getInstance(type:Class)
Invokes Provider or Uses “new type()”
Swiftsuspenders 2 - Changes




Can Re-Inject Into Instances
Swiftsuspenders 2 - Changes




> 500% Faster Reflection
Swiftsuspenders 2 - Changes




> 300% Faster Injection
Swiftsuspenders 2 - Changes




 + 2.5kb size

More Related Content

Viewers also liked

งานนำเสนอบทที่8
งานนำเสนอบทที่8งานนำเสนอบทที่8
งานนำเสนอบทที่8sawitri555
 
Fyltex 7-14 Part 1
Fyltex 7-14 Part 1Fyltex 7-14 Part 1
Fyltex 7-14 Part 1MarcelaLugo
 
ตอนที่ 3
ตอนที่ 3ตอนที่ 3
ตอนที่ 3Juice Zi
 
Company Profile of JAGW-AlucoGlass
Company Profile of JAGW-AlucoGlassCompany Profile of JAGW-AlucoGlass
Company Profile of JAGW-AlucoGlassJAGW-AlucoGlass
 
Fyltex 2-6x Part 1
Fyltex 2-6x Part 1Fyltex 2-6x Part 1
Fyltex 2-6x Part 1MarcelaLugo
 
บทที่7 ใหม่1
บทที่7 ใหม่1บทที่7 ใหม่1
บทที่7 ใหม่1Phuntita
 
Contents page sketches
Contents page sketchesContents page sketches
Contents page sketchesjessiekeegan
 
Pro presentationass2
Pro presentationass2Pro presentationass2
Pro presentationass2dhoke_cis235
 
Politics Grundtvig workshop presentation 2
Politics Grundtvig workshop  presentation 2Politics Grundtvig workshop  presentation 2
Politics Grundtvig workshop presentation 2Learn Politics
 
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsDaniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsRakuten Brasil
 

Viewers also liked (16)

งานนำเสนอบทที่8
งานนำเสนอบทที่8งานนำเสนอบทที่8
งานนำเสนอบทที่8
 
Old School
Old SchoolOld School
Old School
 
Fyltex 7-14 Part 1
Fyltex 7-14 Part 1Fyltex 7-14 Part 1
Fyltex 7-14 Part 1
 
Activitats tema 1
Activitats tema 1Activitats tema 1
Activitats tema 1
 
ตอนที่ 3
ตอนที่ 3ตอนที่ 3
ตอนที่ 3
 
Project presentation
Project presentationProject presentation
Project presentation
 
Company Profile of JAGW-AlucoGlass
Company Profile of JAGW-AlucoGlassCompany Profile of JAGW-AlucoGlass
Company Profile of JAGW-AlucoGlass
 
Fyltex 2-6x Part 1
Fyltex 2-6x Part 1Fyltex 2-6x Part 1
Fyltex 2-6x Part 1
 
บทที่7 ใหม่1
บทที่7 ใหม่1บทที่7 ใหม่1
บทที่7 ใหม่1
 
Contents page sketches
Contents page sketchesContents page sketches
Contents page sketches
 
Pdhpe
Pdhpe Pdhpe
Pdhpe
 
Nb preparation pdf_c1slot
Nb preparation pdf_c1slotNb preparation pdf_c1slot
Nb preparation pdf_c1slot
 
Plan 1qna de octubre
Plan 1qna de octubrePlan 1qna de octubre
Plan 1qna de octubre
 
Pro presentationass2
Pro presentationass2Pro presentationass2
Pro presentationass2
 
Politics Grundtvig workshop presentation 2
Politics Grundtvig workshop  presentation 2Politics Grundtvig workshop  presentation 2
Politics Grundtvig workshop presentation 2
 
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsDaniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
 

Similar to try { harder } 2011 Inception of Control

Fitc 2012 - rise of the modules
Fitc 2012 - rise of the modulesFitc 2012 - rise of the modules
Fitc 2012 - rise of the modulestschneidereit
 
Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017Idit Levine
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core ConceptsFabio Biondi
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core conceptsCodemotion
 
Vaadin with Java EE 7
Vaadin with Java EE 7Vaadin with Java EE 7
Vaadin with Java EE 7Peter Lehto
 
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListViewKobkrit Viriyayudhakorn
 
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamAOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamThuy_Dang
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkCodemotion
 
Projet d'accès aux résultats des étudiant via client mobile
Projet d'accès aux résultats des étudiant via client mobile Projet d'accès aux résultats des étudiant via client mobile
Projet d'accès aux résultats des étudiant via client mobile Patrick Bashizi
 
The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012Lucas Jellema
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsArnaud Bouchez
 
IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016Trayan Iliev
 
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
 
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with NinjectOleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with NinjectOleksandr Valetskyy
 

Similar to try { harder } 2011 Inception of Control (20)

Fitc 2012 - rise of the modules
Fitc 2012 - rise of the modulesFitc 2012 - rise of the modules
Fitc 2012 - rise of the modules
 
Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core concepts
 
Vaadin with Java EE 7
Vaadin with Java EE 7Vaadin with Java EE 7
Vaadin with Java EE 7
 
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView
[React Native Tutorial] Lecture 7: Navigation - Scene Transition - ListView
 
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC TeamAOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
AOP-IOC made by Vi Quoc Hanh and Vu Cong Thanh in SC Team
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new frameworkTech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
 
Projet d'accès aux résultats des étudiant via client mobile
Projet d'accès aux résultats des étudiant via client mobile Projet d'accès aux résultats des étudiant via client mobile
Projet d'accès aux résultats des étudiant via client mobile
 
Swiz DAO
Swiz DAOSwiz DAO
Swiz DAO
 
The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012The Very Very Latest in Database Development - Oracle Open World 2012
The Very Very Latest in Database Development - Oracle Open World 2012
 
The Very Very Latest In Database Development - Lucas Jellema - Oracle OpenWor...
The Very Very Latest In Database Development - Lucas Jellema - Oracle OpenWor...The Very Very Latest In Database Development - Lucas Jellema - Oracle OpenWor...
The Very Very Latest In Database Development - Lucas Jellema - Oracle OpenWor...
 
Ekon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side NotificationsEkon25 mORMot 2 Server-Side Notifications
Ekon25 mORMot 2 Server-Side Notifications
 
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter LehtoJavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
 
Angular redux
Angular reduxAngular redux
Angular redux
 
IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016IPT High Performance Reactive Java BGOUG 2016
IPT High Performance Reactive Java BGOUG 2016
 
Compose Camp by GDSC NSUT
Compose Camp by GDSC NSUTCompose Camp by GDSC NSUT
Compose Camp by GDSC NSUT
 
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.
 
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with NinjectOleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
Oleksandr Valetskyy - Become a .NET dependency injection ninja with Ninject
 
Project Final Report
Project Final ReportProject Final Report
Project Final Report
 

Recently uploaded

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Recently uploaded (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

try { harder } 2011 Inception of Control

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. Can be metadata, XML, MXML, JSON, etc, a DSL or just normal code\n
  9. Requests are formulated by whatever config mechanism, responses set via an API\n
  10. Using the configuration-data to find dependencies of the root, then providing them recursively\n
  11. \n
  12. Reflection not that easy, finding good DSLs even harder\n
  13. - finding all dependencies for args\n- invoking Ctors (no splat)\n
  14. Make lookup more complicated\n
  15. Class-Factories, Values, Singletons, Multitons, generic Factories, etc.\n
  16. PostConstruct: Sorting\ndestroy/ PreDestroy: What to tear-down?\n
  17. PostConstruct: Sorting\ndestroy/ PreDestroy: What to tear-down?\n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. Wanted: Better Name!\n
  26. \n
  27. \n
  28. \n
  29. Write Your Own!\n
  30. - \n- Modules can work in isolation and in bigger contexts\n
  31. \n
  32. Allows setting a provider that will get called as a last-ditch effort if no mapped provider is found for a type\n
  33. PRE_INSTANTIATE | PRE_INSTANTIATE: Before and after creating a new instance\nPRE_CONSTRUCT | POST_CONSTRUCT: Before and after injecting into an instance\n
  34. \n
  35. Better Name Wanted!\n
  36. \n
  37. \n
  38. \n
  39. Enables instance-pooling\n
  40. With Flash Player 10.1 and above\n
  41. \n
  42. From 7.7kb to 9.2kb\n