This presentation was quite informative and could easily have been renamed "Extensibility through late binding". I have found that the use of late binding tends not to be utilized in most business applications unless you are making use of reflection to load up assemblies at/during run-time. It is, however, used quite a bit in the gaming community. In observing how the gaming and bussiness application industries have been changing over the last few years, it is always interesting to me to see patterns that are heavily used in one area finding a new life in the other community.
Early binding (a.k.a. Name binding) is binding defined at design time. It is the most commonly used method of instantiating an object.
System.Xml.XmlDocument document = newSystem.Xml.XmlDocument();
Late binding (a.k.a. Dynamic binding), on the other hand, is where the object’s assembly is not referenced at design time as it is loaded during run time.
LateBinder lateBoundObject = (LateBinder)Activator.CreateComInstanceFrom(
Miguel is very confident presenter as well as a prolific author. I recommend taking in his presentation if you have the opportunity.
This topic is often confused with loose coupling, which is an entirely separate concept all together.