Explicit Context Dependencies

As a follow up from my last post about Global Container vs. Injected Context, I would like to share this snippet from Component Software, which casts the difference between the two approaches in another light: "A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. …" Under this…

1

Container-Managed Application Design, Prelude: Where does the Container Belong?

There is surprisingly little information out there in cyberspace on how IoC containers should fit into application architectures. In parallel with my MEF/Ruby series, I’m going to discuss some of the principles that I believe should be applied to “container-managed” application design. The Enigmatic Ideal In the world of systems built using dependency injection, you…

18

Ruby on MEF: Hybrid Application

Since the last installment in this little series, I’ve started to consider how Ruby/C# hybrid MEF applications might look. The result is yet another component-based calculator: Besides the Radiohead arithmetic, there is one reason to get excited… Ruby parts! (I bet you hadn’t guessed.) The Ruby-based export and import features are heading towards a fairly…

0

Ruby on MEF: Imports and Exports

Well, the "Ruby Parts" implementation is slowly taking shape. If you haven’t read the first article you probably should before you read on. Exports An export is an object that a part will hand to the outside world to fulfil a contract. Sometimes, this is the part itself. Other times, the part will expose a…

4

Hosting Ruby Parts in MEF

MEF is fascinating because of the way some initial assumptions led to a different flavor of composition technology from the ones we’ve seen for .NET to date. In my opinion, the most exciting ‘parameter variation’ in the design process for MEF was the idea that ‘parts’ should support the full range of .NET languages. The…

11