A factory pattern is a creational pattern. This type of design pattern comes under behavior pattern. I am new to design patterns and working my way through the Factory Method and Strategy patterns. On the other end, strategy pattern is a behavioral pattern used to decouple an algorithm from client code. I understand that Factory is a creational pattern and Strategy is behavioral but I struggle to understand when to use which one. Is there any major difference between Strategy Pattern and Factory Pattern? As for me its look alike and I am a bit confused which to use when. In Strategy pattern, we create objects which represent various strategies and a context object whose behavior varies as per its strategy object. The difference is in their intention: The factory method pattern is a creational pattern used to defer object instantiation to subclasses. This unique package will change your .NET lifestyle -- for only $79. Here's what is included: Not only does the .NET Design Pattern Framework 4.5 cover GOF and Enterprise patterns, it also includes .NET pattern architectures that reduce the code you need to write by up to 75%. For example, I have the following classes that updates client details based on the company specified: In Strategy pattern, a class behavior or its algorithm can be changed at run time. A strategy pattern is use to perform an operation (or set of operations) in a particular manner. A strategy pattern is an operational pattern. Put another way, a factory pattern is used to create objects of a specific type.