zoukankan      html  css  js  c++  java
  • 简单工厂

    //简单工厂
    
    //读卡器抽象类
    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();
    
     
     
  • 相关阅读:
    Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis | 附实践清单
    laravel生命周期
    日志写入
    商城表设计
    10个你不一定知道的PHP内置函数
    PHP函数详解:call_user_func()使用方法
    Dingo与JWT的使用
    商城-会员与用户的数据表设计
    MVVM模式
    vue面试题
  • 原文地址:https://www.cnblogs.com/jasonduan/p/5287986.html
Copyright © 2011-2022 走看看