Provider Model Design Pattern and Specification - ASP.NET Whidbey - Visual Studio 2005 - Design Patterns C#

I sound like a broken record the last couple of days talking about software design patterns in C#, but since I am on the subject I thought I would mention the Provider Model Design Pattern.

MSDN has two recent articles worth mentioning about a software design pattern, called the Provider Model Design Pattern. The ASP.NET team coined this pattern in 2002 and have been using it quite a bit in the ASP.NET Starter Kits as well as in ASP.NET 2.0 (Whidbey) when using Personalization and the Membership APIs.

The first article on MSDN explains it as such:

Introducing the Provider Design Pattern

The Provider Design Pattern is a pattern we've used in several of our ASP.NET Starter Kits, formalized in ASP.NET Whidbey, and one that we'll hope you'll start using for your applications, too. The theory of the pattern is that it allows us to define a well-documented, easy-to-understand API, such as our new Whidbey Membership APIs, but at the same time give developers complete control over the internals of what occurs when those APIs are called.

The pattern was officially named in the summer of 2002 when we were designing the new Personalization feature of ASP.NET Whidbey. We were struggling to design the "right" schema that worked for everyone—the Personalization feature of ASP.NET Whidbey adds a new Profile class to which you can add strongly typed properties, for example, FirstName, whose values are stored in a database. The problem was that we needed a flexible design, but at the same time we wanted it to be easily extensible without everyone having to be a DBA; turns out this simple requirement is an incredibly challenging problem.


A second article has been published on MSDN that discusses the pattern even further and how you can use it in ASP.NET 1.1 now for personalization, which is why I am mostly interested. I won't be doing anything seriously with ASP.NET 2.0 until perhaps Q4 as it is a good year away from completion. However, anything that helps me in ASP.NET 1.1 AND gets me better educated on ASP.NET 2.0 is a good thing!

Anyway, these are good articles to digest.

Earlier, I mentioned an article on Code Project that goes into some other design patterns in C# that is worth reading.

posted on Wednesday, May 19, 2004 12:21 PM

Main

News

Green Tea

.NET Development

Enterprise Library

Patterns & Practices