Difference between abstract factory pattern and factory
method pattern in .NET with example.
Answers were Sorted based on User's Feedback
Answer / archanarastogi
The abstract factory pattern provides an interface for
creating a family of objects whereas factory method
provides an interface for creating one object
Is This Answer Correct ? | 39 Yes | 5 No |
Answer / nitin
Abstract factory pattern is used when you do not want the user to change the existing factories, instead allow him to plugin his factory class to create abstract object. Aim is to keep default framework from changing.
Factory method is used when you give the control of the entire framework to user, and he can add new methods to the factory (inorder to create new object type)
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / guest
Abstract Factory patterns acts a super-factory which creates
other factories. This pattern is also called as Factory of
factories. In Abstract Factory pattern an interface is
responsible for creating a set of related objects, or
dependent objects without specifying their concrete classes.
public interface AbstractFactory
{
AbstractProductA CreateProductA();
AbstractProductB CreateProductB();
}
public class ConcreteFactoryA : AbstractFactory
{
public AbstractProductA CreateProductA()
{
return new ProductA1();
}
public AbstractProductB CreateProductB()
{
return new ProductB1();
}
}
public class ConcreteFactoryB : AbstractFactory
{
public AbstractProductA CreateProductA()
{
return new ProductA2();
}
public AbstractProductB CreateProductB()
{
return new ProductB2();
}
}
public interface AbstractProductA { }
public class ProductA1 : AbstractProductA { }
public class ProductA2 : AbstractProductA { }
public interface AbstractProductB { }
public class ProductB1 : AbstractProductB { }
public class ProductB2 : AbstractProductB { }
public class Client
{
private AbstractProductA _productA;
private AbstractProductB _productB;
public Client(AbstractFactory factory)
{
_productA = factory.CreateProductA();
_productB = factory.CreateProductB();
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Whats an assembly?
what is AutoEventWireUp and what is the use of This property explain in details?
What is the file through which you can customize your asp.net application?
How does the regular expression validator work? What are two situations when you might want to use one?
How can you ensure a permanent cookie?
How to create events for a control?
What is asp net_sessionid?
What is side-by-side execution? Can two applications, one using a private assembly and other using a shared assembly, be stated as side-by-side executables?
How do you do exception management?
1 Answers Accenture, BirlaSoft,
What are the differences between Dataset and DataReader?
In which event of page cycle is the viewstate available?
Difference b/w casting and boxing?