您的位置:首页 > 其它

简单工厂

2016-03-17 16:40 423 查看
//简单工厂

//读卡器抽象类
public abstract class CardRader
{
//初始化
public abstract int init();
//读卡返回卡号
public abstract string ReadID();
//退卡
public abstract void ExitCard();
//....等等其他方法
}

//CRT310 读卡器
public class CardRaderCRT310 : CardRader
{
//初始化
public override int init()
{
//...调用厂家方法

// 初始化后设备返回代码
return 1001;
}
//读卡返回卡号
public override string ReadID()
{
//...调用厂家dll方法
//返回读取的卡号
return "62261111111111";
}
//退卡
public override void ExitCard()
{
//...调用厂家dll方法
Console.WriteLine("CRT310退出");
}
//....等等其他方法

}

//M100 读卡器
public class CardRaderM100 : CardRader
{
//初始化
public override int init()
{
//...调用厂家dll方法

// 初始化后设备返回代码
return 1001;
}
//读卡返回卡号
public override string ReadID()
{
//...调用厂家dll方法
//返回读取的卡号
return "62261111111111";
}
//退卡
public override void ExitCard()
{
//...调用厂家dll方法
Console.WriteLine("M100退出");
}
//....等等其他方法

}

//简单工厂
public class CardRaderFactory
{
public static CardRader CreateCardRader(string type)
{
CardRader cr = null;
if (type.Equals("M100"))
{
cr= new CardRaderM100();
}
else if (type.Equals("CRT310"))
{
cr= new CardRaderCRT310();
}

return cr;
}
}

--------调用-----
CardRader cr = CardRaderFactory.CreateCardRader("M100");
cr.init();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: