In this article we are going to see the Adapter design pattern and there implementation, Adapter design pattern is convert a interface of a class in to a client required interface, it is acts as a intermediate layer between the client and the target class.
Class View:
Client Code:
Adapter Design:
Output
From this article we can learn how to implement the Adapter design pattern.
Class View:
Client Code:
static void Main(string[] args)
{
/* Adapter Design Pattern */
ICurrentAdapter two = new TwoPinAdapter();
ICurrentAdapter three = new ThreePinAdapter();
List<ICurrentAdapter> adapters = new List<ICurrentAdapter>();
adapters.Add(two);
adapters.Add(three);
foreach(ICurrentAdapter adapter in adapters)
{
adapter.Plug();
Console.WriteLine(" {0} , Power
Consumption: {1} ", adapter.GetType().Name,
adapter.CurrentConsumption);
}
Console.ReadLine();
}
Adapter Design:
class Current
{
private int Amps;
public Current(int amps)
{
Amps = amps;
}
public int CurrentConsumption()
{
return Amps * 3;
}
}
interface ICurrentAdapter
{
int CurrentConsumption { get; }
void Plug();
}
class ThreePinAdapter:ICurrentAdapter
{
Current curr;
public int CurrentConsumption
{
get { return curr.CurrentConsumption(); }
}
public void Plug()
{
curr = new Current(40);
}
}
class TwoPinAdapter:ICurrentAdapter
{
Current curr;
int ICurrentAdapter.CurrentConsumption
{
get { return curr.CurrentConsumption(); }
}
public void Plug()
{
curr = new Current(20);
}
}
Output
TwoPinAdapter , Power Consumption: 60
ThreePinAdapter , Power Consumption:
120
From this article we can learn how to implement the Adapter design pattern.
No comments:
Post a Comment