Can you please tell more about what you are trying to achieve? The purpose of Factory, Decorator and Strategy are different. The use of interfaces alone does not make a Factory, Decorator or Strategy and they belong to different genre.
Factory: Creates an instance of several families of classes. [A Creational Pattern]
Decorator: Add responsibilities to objects dynamically [Structural Pattern]
Strategy: Encapsulates an algorithm inside a class. [Behavioral Pattern]
Check this online resource out, its quite simple and friendly:
http://sourcemaking.com/design_patterns Characteristics of Decorator: The Decorator Pattern is used to extend the functionality of an object dynamically without having to change the original class source or using inheritance. This is accomplished by creating an object wrapper referred to as a Decorator around the actual object. That ways decorator is an alternative to using inheritance. The Decorator object is designed to have the same interface as the underlying object. This allows a client object to interact with the Decorator
object in exactly the same manner as it would with the underlying
actual object.
The Decorator object contains a reference to the actual object.The Decorator object receives all requests (calls) from a client. It in turn forwards these calls to the underlying objectThe Decorator object adds some additional functionality before or after forwarding requests to the underlying object. This ensures that the additional functionality can be added to a given object externally at runtime without modifying its structure.
Strategy Pattern The Strategy pattern is useful when there is a set of related algorithms and a client object needs to be able to dynamically pick and choose an algorithm from this set that suits its current need.
Well...!!! I guess this short introduction will probably help you a little. From your code it seems you have something related to dynamic behavior. Just be sure what you are trying to achieve and often Design Patterns are used in conjunction to each other.

[ May 01, 2008: Message edited by: Arnav Mitra ]