Question: I've been trying to get my head around XAML and it's namespaces and I just cannot seem to get the logics of things. For example, I'm trying to animate a gridrow's GridLength property following a tutorial. I can get the sample code to run just fine. But trying to actually port the features into my own code seems to be impossible. I always run into odd errors which doesn't occur in the source code. Animating the GridLength property isn't possible, so I need to create a new .vb file containing the code making it possible. 

But trying to actually reach what's in there I can't get to work.

In my Window.xaml file I have this at the top:

```
xmlns:gridanim="clr-namespace:HDI_WPF_GridAnimation_vb"

```

Which targets a GridLengthAnimation.vb file. In that file you have this:

```
Imports System.Windows.Media.Animation
Imports System.Windows

Public Class GridLengthAnimation
    Inherits AnimationTimeline

```

Back in the Window.xaml, getting contact with "GridLengthAnimation" is impossible:

```
<gridanim:GridLengthAnimation></gridanim:GridLengthAnimation>

```

I get an error message saying:

```
The name "GridLengthAnimation" does not exist in the namespace "clr-namespace:HDI_WPF_GridAnimation_vb".

```

What is causing the issue?

Answer: 
They are actually a type of design pattern - creational patterns. Wikipedia has a reasonable description of these pattern types - which originate from the GoF book:

<http://en.wikipedia.org/wiki/Creational_pattern>

* Abstract factory pattern
* Factory method pattern
* Builder pattern
* Lazy initialization pattern
* Object pool
* Prototype pattern
* Singleton pattern
The class hierachy says nothing about the need for a Factory Method or any other specialized way to create objects. What do you want to do with all these classes? Will it be difficult to use? Will it be difficult to extend?

Does creating a Factory or similar improve the situation?

If you can't make up your mind, create some examples of using the classes (realistic examples please) then refactor those to use you Factory. 

After that exercise you should be able to decide for yourself. Or to come back with some more specific problems.