简单工厂
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();
相关文章推荐
- ubuntu下安装 openssl 开发库
- java写入写出流,(部分)
- 滴答清单 - Todo & 任务提醒(Record things and remind)
- MVP模式在Android项目中的使用
- 3.4-zabbix自定义脚本
- 并发编程(9)threadLocal的用法
- 当前流行的Web前端开发框架
- Longest Palindromic Substring
- Android 事件分发
- 两种复制表的语句
- C++怎样把第三方库隐藏在实现下面
- 7.4 Javascript:表单验证-揭开正则表达式的面纱
- 正则表达式获取地址栏参数
- 3.2-nagios自定义监控系统磁盘脚本
- 矩阵翻硬币
- 线程笔记1
- [从头学数学] 第137节 分式 小结与复习题
- CF631 A. Interview【位运算】
- Android---08---布局与单位
- Genymotion常见问题整合与解决方案