Geeks With Blogs

‘Sexy’ Extensibility Design and Patterns


“Programming to the interface” is important when addressing extensibility.


Provider Pattern – If you are familiar with then you have been beat over the head with this pattern enough that I won’t spent much time on it. If your not familiar with, I’ll give you 50,000ft view…… it allows for abstraction of data and behavior by using an interface that the client is aware of and an external class library that contains the actual implementation of whatever you are trying to do.


Plug-Ins – This is pretty straight-forward. Plug-ins are implemented in a way similar to modules below. The real difference is that you have to explicitly iterate through a list either from a configuration file or a pre-defined directory.


Modules – This was the most interesting pattern and basically defines multiple parts of extensibility in one class. Related patterns are Chain of Responsibility, Loosely Coupled Events and Interception Filter. This methodology is event-driven and in an extremely flexible manner allows modules to hook into the events. The modules are identified to the client or web app through a configuration file and are loaded using reflection.

Posted on Wednesday, April 23, 2008 1:53 PM Conferences , Architecture/Design | Back to top

Comments on this post: DevConnections Part 3 of ...

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © ReelDeepDotNet | Powered by: