Hi all, was exploring the abstract factory pattern and in every second article, i get this definition :
"an interface is responsible for creating a set of related objects, or dependent objects without specifying their concrete classes."
I ?created a sample code based on my understanding of this pattern and ideas that came from other articles. But there are certain points that are still confusing me :
1. What does the definition mentioned above means ?
2. Why would i need to have an abstract factory pattern ?
I was able to create a sample code, but I am not sure what part of the code/implementation is must to go for an abstract factory pattern. My sample code is :
/// <summary>
/// Master 'Abstract Factory'
/// </summary>
public interface IMasterFactory
{
IProduct1 Getproduct1();
Iproduct2 GetProduct2();
}
/// <summary>
/// Abstract Product 1
/// </summary>
public interface IProduct1
{
String GetProduct1Type();
}
/// <summary>
/// Abstract Product 2
/// </summary>
public interface IProduct2
{
String GetProduct2Type();
}
public class ManufacturerA : IMasterFactory
{
public IProduct2 GetProduct2Type()
{
return new Product2Type();
}
public IProduct1 IProduct1Type()
{
return new Product1Type();
}
}
public class Product1Type: IProduct1Type
{
public string GetProduct1Type()
{
return "Product 1 Type";
}
}
public class Product2Type: IProduct2Type
{
public string GetProduct2Type()
{
return "Product 2 Type";
}
}
Which code i can remove from here to say that it was not required to be written..