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

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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 ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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