Are there ways to make Inversion of Control (IoC) easier?

  • Thread starter Thread starter James A. Fortune
  • Start date Start date
J

James A. Fortune

PDC09 FT11 Future directions for C# and Visual Basic - Luca Bolognese

"This is called Inversion of Control. Your code was very nice and
linear before, and now you have to take pieces of your code, make them
delegates, pass it so that the system can call them back. And then,
if the delegate does an addressing kind of [call?], you need yet
another delegate, and you link all the chaining you need to manage all
the error conditions of things that might go wrong inside that. You
write this code once, and then you forget why you did it...It runs
asynchronously. It works nicely. It's just a royal pain to write."

PDC09 FT20 F# for Parallel and Asynchronous Programming - Luke Hoban

"It actually requires us coordinating that looping because we have to
invert the control. Whence do you do that using recursion? And that
recursion could stack overflow if we took too many of these steps
through this process. And so we actually need to also implement the
behavior using looping, and using this complex handshake between the
looping and the recursion. What's worse..."

Later he shows a construct in F# that allows for better Inversion of
Control.

What other means have been used to make Inversion of Control (IoC)
less complicated or less error-prone?

James A. Fortune
(e-mail address removed)
 
PDC09 FT11 Future directions for C# and Visual Basic - Luca Bolognese

"This is called Inversion of Control. Your code was very nice and
linear before, and now you have to take pieces of your code, make them
delegates, pass it so that the system can call them back. And then,
if the delegate does an addressing kind of [call?], you need yet
another delegate, and you link all the chaining you need to manage all
the error conditions of things that might go wrong inside that. You
write this code once, and then you forget why you did it...It runs
asynchronously. It works nicely. It's just a royal pain to write."

PDC09 FT20 F# for Parallel and Asynchronous Programming - Luke Hoban

"It actually requires us coordinating that looping because we have to
invert the control. Whence do you do that using recursion? And that
recursion could stack overflow if we took too many of these steps
through this process. And so we actually need to also implement the
behavior using looping, and using this complex handshake between the
looping and the recursion. What's worse..."

Later he shows a construct in F# that allows for better Inversion of
Control.

What other means have been used to make Inversion of Control (IoC)
less complicated or less error-prone?

Pick an IoC framework that most of the team is familiar with or
train them in the one chosen.

Arne
 
I agree on picking an IoC framework. My company has had good success
with Ninject and Autofac.
 
Thanks for the comments. They were all helpful.

James A. Fortune
(e-mail address removed)
 
I agree on picking an IoC framework. My company has had good success
with Ninject and Autofac.

Other like Castle Windsor or Spring.NET.

But evaluate, pick one and stick to it.

Arne
 
Back
Top