A Twist on the Twist of the Observer Pattern

Thanks to those of you who read my Twist on the Observer pattern and gave me the feedback. You said, “Hey, Jeremy, that’s neat, but there is already a pattern established for what you’re talking about, and a few great solutions ready to use. Besides, they are much, much more powerful…” Thanks to Microsoft MVP…

Silverlight on IE6: Nagging Security Bug

Do you have a wonderful Silverlight application that you enjoy running in all of the glorious browser flavors available, only to find out that some weird quirky issue pops up in our old friend, Internet Explorer version 6.0 (IE6)? Perhaps you were as puzzled as we were when IE6 would complain with a “Security warning:…

IUnityContainer and the Rabbit Hole

I’m working on an exciting project using Silverlight and the PRISM framework/Composite Application Library. It is perfect for our use as a rich, interactive line of business application that has a lot of features. We want to be able to quickly and easily extend areas of functionality (which the dependency injection and region management features…

A Twist on the Observer Pattern

The observer pattern is well established and used. The typical scenario is to register to an class and then allow your Notify method to be called. This often involves keeping an internal list of observers and then iterating them to notify that something has changed. I had a situation recently that warranted a lighter weight…

More Confusion over “by ref” versus “Reference Types”

Apparently my prior blog post about “by ref” versus “reference type” caused quite a stir and a bit of confusion. I think the underlying issue is that people confuse “by ref” as having something to do with “reference types.” They are not the same. Reference types and value types are about instances, passing by ref…

What’s in Your Collection? Part 3 of 3: Custom Collections

This is the last installment in a three part series about using collections in C#. The entire series can be accessed here: Part 1: Interfaces Part 2: Concrete Part 3: Custom Collections We’ve now covered the interfaces and some concrete instances of collections provided by the .NET Framework. Now you are interested in moving things…

What’s in Your Collection? Part 2 of 3: Concrete

The collection is a powerful construct that allows a developer to logically group related elements and navigate through them. In this article, we’ll explore some concrete implementations of collections that are part of the base .NET framework. The entire series can be accessed here: Part 1: Interfaces Part 2: Concrete Part 3: Custom Collections (If…

Editing WPF Controls in Expression Blend

This is one of those quirks that until you try it, you may not know it exists or what the answer is. I am working on a WPF project and have a separate control library (actually, a module because I am using the Component Application Guidance/PRISM pattern). I pulled it into Expression Blend and was…

Ref Keyword for Reference Types

The Ref keyword is well known. It indicates that you are passing a reference, not a value, to a method. That means that if the method modifies the value, the changes will be apparent to the calling method as well. Where I see a lot of confusion, however, is what happens when dealing with reference…

WinUnit is Now on CodePlex

As there are still tons and tons of native C++ development going on and you need to test that code just like you do for your C# code. I’ve been using WinUnit, which was first introduced in a great MSDN Magazine article by Maria Blees, for all my native testing and love it. Where previous…

Pragmatic Reflection on Singletons

So today I was wading through some code that gets called quite a bit. It is in a process that might be hit thousands of times per second. It uses a pipeline pattern so there are several objects to “new up” and place in the pipeline. Being performance-minded I originally was tempted to follow the…

Happy Beatles Day

In case you didn’t know, The Beatles re-masters are being released today (9/9/9).  Even more exciting is the fact that you will be able to get all of them in mono and in stereo.  So, you can hear them the way they were meant to be heard!!  From my understanding, though, the mono versions will…