Edmonton .NET User Group Meeting – January 15th – Miguel Castro – Designing Applications for Extensibility

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.
 
e.g.
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.
 
e.g.
LateBinder lateBoundObject = (LateBinder)Activator.CreateComInstanceFrom(
    System.IO.Path.Combine(System.Reflection.Assembly.GetExecutingAssembly().CodeBase,
    @"binSomeAssemblyRequired.dll"), "LateBinder");
 
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.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s