Brian in Coding | 24 Comments April 18, 2004

Just about anyone who has programmed in the .NET Framework has come across the System.ComponentModel namespace. The Windows Forms, ASP.NET and data classes all implement interfaces from this namespace. But other than that, most people dont know what this namespace is for. Most think it is just a random collection of stuff necessary to support designers. Well, that's partially true: designers make extensive use of this namespace. System.ComponentModel is not just for designers, however. It provides a group of generally useful interfaces and classes you can use in your own applications. In current versions of the .NET Framework all we've really done with component model is provide a useful design pattern; we haven't really made much use of it outside of designers. This post will show you how you can use this namespace in your own applications, utilizing the same design patterns we've used in the designer.


Application Building Blocks

Brian in Coding | 8 Comments January 22, 2004

Scoble has a great post about a new MVC tool he's seen that takes MVC a few steps further, where an entire application can be built without using code. There is a long comment thread that is a great intresting read. Yes, this has been done before by many tools. Arguments about how well it scales once you leave the demo and start doing real work with it.

Despite all sorts of problems with this model, it fits in really well with reality. Take the creation of anything worthwhile today: a house, a car, a microprocessor, and you have a few very sharp, very focused individuals who spend a lot of time in very narrow niches designing parts of the whole. But, those few individuals aren't the ones stamping out houses and cars. Their designs are carried as blueprints to people with a different set of skills who actually build the stuff.


Fun with Generics

Brian in Coding | 11 Comments November 20, 2003

Generics are a new feature in the .NET Framework that are at first glance similar to C++ templates. But, they run much deeper. Anyone who has been toying with the upcoming release of the .NET Framework may have seen generics in action in the new generic collection namespace:

List<int> intList = new List<int>();
int result = list[0] + list[1];

This creates a list of integers. Unlike a normal ArrayList, integers added to the list do not get boxed into objects. This can be done with C++ templating easily.


Software for the Masses

Brian in Coding | 5 Comments July 10, 2003

I work on the .NET framework, writing the Windows Forms and component model APIs. One of the hardest parts of this job is trying to nail our target audience. Or audiences, as the case may be. We try to write an API for VB users, C# users and MC++ users. While there is some overlap, these are vastly different types of users. Some folks have never cracked a data structures book, while others eat assembly code for breakfast. Don't go assuming you know which one is which: I know plenty of "VB" developers who are right at home doing completely insane things in VB that many hardcore C++ developers wouldn't know how to tackle.