Geeks With Blogs
Eric Newton aka Ensoft tail /var/log/thoughts

Here's a suggestion for the BCL team:

I'd like to see the framework become a little more than base class libraries that implement bare minimum functionality.  I'd like to see the framework begin to provide more components with the most common interfaces, thereby the framework becomes the portal for components...

“How do they do that?” you must be asking...  Lets look at something very common to all applications: e-mail protocols.  Frankly, I loved seeing the BCL team create a true 100% managed Smtp protocol component for sending mail.  However, what if I need some function that a 3rd party vendor provides?  The tendency would be in the start of the project to completely integrate that 3rd party component pretty deeply inside the code, making it difficult to switch once another 3rd party component is needed.

So why not have the Framework build Common Interfaces for ALL Mail components?  an IMailMessage, an IMailMessageAttachment, etc... and the BCL team simply provides their base level implementation for them.  The benefit is that these standard interfaces all exist in the Framework (creating a more-literal Framework than before) and allow for the commonalities of all mail components to be utilized by most of the code.  What are those commonalities?  Simply put, its the simplest interfaces for getting the simplest tasks accomplished...

Another area that could be improved would be System.Drawing... basically creating more common interfaces for ALL the imaging toolkits would be fantastic... What if my current imaging toolkit doesnt support JPEG2000 images?  I'd have written a ton of code for ABC Imaging Toolkit that doesnt include JPEG2000 support but XYZ Toolkit does...   So why not build common interfaces that both ABC Imaging and XYZ Imaging support for most operations...  A bitmap is a bitmap in most people's minds, but to .NET, a System.Drawing.Bitmap is absolutely totally different than the XYZ Imaging toolkit Bitmap... why?   Why not have a standard System.Drawing.IBitmap interface with say, a Size property and several other Common things that all the 3rd party component developers could support?  

I simply see Microsoft building “base” level functionality, which is cool, but since they're driving a Framework, why not have some standard interfaces?  That's my suggestion

Posted on Monday, April 3, 2006 4:51 PM | Back to top

Comments on this post: BCLTeam weblog relaunch - Taking suggestions

# Roulette Technique
Requesting Gravatar...
Hey, ok, I get it, I guess - but does this really work?
Left by ruletka online on Jan 02, 2010 6:27 PM

# Roulette Tricks
Requesting Gravatar...
Damn, that sound's so easy if you think about it.
Left by Vydelat peníze na rulete on Jan 22, 2010 11:48 AM

# Roul Trick
Requesting Gravatar...
Sometimes it's really that simple, isn't it? I feel a little stupid for not thinking of this myself/earlier, though.
Left by roulett on Jan 22, 2010 11:48 AM

Comments have been closed on this topic.
Copyright © Eric Newton | Powered by: