ABSTRACT FACTORY PATTERN
Provide an interface for creating families of related or dependent objects without specifying their
concrete classes.
Casual Implementation Factory Pattern Implementation
Usual Code Block
|
Factory Pattern
|
Parent
Class
public class CheckBook
{
protected decimal _Amount;
public decimal getExpense()
{
return _Amount;
}
}
These below child classes is derived from
CheckBook base class.
public
class Health : CheckBook
{
public Health()
{
_Amount = 5000;//Could be any logic
to calculate health amount
Console.WriteLine("Your Health
Expense: {0}", _Amount.ToString());
}
}
public class Travel : CheckBook
{
public Travel()
{
_Amount = 10000;//Could be any logic
to calculate travel amount
Console.WriteLine("Your Travel
Expense: {0}", _Amount.ToString());
}
}
public class Personal :
CheckBook
{
public Personal()
{
_Amount = 15000;//Could be any logic
to calculate personal amount
Console.WriteLine("Your Personal
Expense: {0}", _Amount.ToString());
}
}
|
public class CheckFactory
{
public CheckFactory() { }
public CheckBook chooseExpense(int o)
{
switch (o)
{
case 1:
return new Personal();
case 2:
return new Travel();
default:
return new Health();
}
}
}
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
CheckFactory objCheckFactory = new
CheckFactory();
CheckBook currentExpense = objCheckFactory.chooseExpense(int.Parse(input));
Console.WriteLine("From main
class " + currentExpense.getExpense());
Console.Read();
}
}
|
Comments
Post a Comment