Editor's Note

Patterns Patterns Everywhere

As loyal readers of MSDN Magazine know, each month's Editor's Note starts out with a tepid, last-minute stab at humorous content. The formula's pretty tried-and-true by now, and you could probably fill in the details in your sleep. It goes like this: list three or four absurdly mismatched items ("skin diving, scrubbing toilets, puppy rodeos, and knitting acrylic scarves") and juxtapose them into some wacky situation ("yes, it's nearly springtime in New York City!"). Voilà—instant intro. It's easy to churn out a paragraph like this with minimal effort, and it can be used as a springboard to whatever discussion we're about to present.

We discovered this formula years ago, and we've perfected it over the years to the point where we can auto-generate Editor's Notes with a simple Microsoft Word macro. One might say that these pages have a predictable...pattern. A design pattern. It's commonly believed that the Gang of Four book was the publication that made design patterns popular in the development community, but we beg to differ. It was actually our tireless, selfless work on this page (and its predecessors in MSJ and MIND) that gave millions, if not thousands, of programmers their first experience with the world of design patterns.

In programming, design patterns have the same purpose. They take common, definable processes and distill them into the basic, repeatable steps that you can take to reproduce them in any language. This is an especially useful tool when you're building complex enterprise-scale apps. You can sit there for weeks, wondering which is the best way to implement a particular process, or you can rely upon the accumulated wisdom of the development community. Chances are good that you're not the first person to come up against a problem, no matter how it might feel at the time. Design patterns are real-world techniques for producing better, more reliable code more quickly.

This month, we're proud to launch a new column, called simply Design Patterns. As we've now established, MSDN Magazine nearly invented the concept of the pattern. Now we're adding a much-requested feature to the magazine—regular coverage of the world of architecture and design patterns. This month, our guest columnist discusses the Factory pattern—one of the core patterns that you should know—and shows how to implement it using the .NET Framework and C#. Future columns will discuss a number of design patterns and take a more general look at pattern-based architectural issues. If you have something you'd like to share with us for the column, drop us a line at mmpatt@microsoft.com.

But is that all the column news we've got for you this month? Of course not! (Like how we say "Of course not," as if we always go around introducing five new columns a month?) This month we're pleased to introduce a new collaborator, Tim Ewald. Tim's a well-known author and voice in the development community, and he'll be contributing some of his knowledge through our House of Web Services column. Tim knows as much about Web Services as anyone on earth. More importantly, he's one of the songwriters in the stunningly successful MSDN Magazine Band, which made quite a splash at last year's Tech•Ed in New Orleans.

Another well-established Editor's Note pattern is the awkward segue between topics, which is why we're especially excited about Visual Studio .NET 2003. You've probably used Visual Studio .NET by now. It was a revolutionary product that allowed developers to create their first programs built on the .NET Framework. Version 2003 consolidates and extends this model, providing built-in tools that allow you to use the Framework to build programs for Pocket PCs, Windows CE-powered devices, ASP.NET sites that work with mobile devices like cell phones, and lots of other exciting applications. At the same time, Visual Studio .NET 2003 uses the .NET Framework 1.1, which features a number of key improvements in Windows Forms.

One of the most important additions to the development package, however, is language based. If you like the Java language, you can now write your code in the managed environment of .NET—Visual J# is now part of the Visual Studio .NET product. If you're one of the huge segment of experienced programmers who've spent years honing your C++ skills, Visual Studio .NET 2003 has a lot to offer as well. In addition to better adherence to standards, managed C++ is now easier to use—you can access designers, just like you can in C# and Visual Basic .NET. This month's issue of MSDN Magazine brings you articles on Visual Studio .NET 2003, the .NET Framework 1.1, and the newest version of managed C++. Do you detect a pattern here?

—J.T.

Active Directory, ActiveSync, ActiveX, Authenticode, IntelliSense, JScript, Microsoft, MSDN, Outlook, Visual Basic, Visual C++, Visual J++, Visual Studio, Windows, Windows NT, and Win32 are registered trademarks of Microsoft Corporation. Visual J# is a trademark of Microsoft Corporation. Other trademarks or tradenames mentioned herein are the property of their respective owners.

MSDN Magazine does not make any representation or warranty, express or implied with respect to any code or other information herein. MSDN Magazine disclaims any liability whatsoever for any use of such code or other information.