亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

通用可擴展過濾器的開發(背景 過程 收獲)付源碼

2019-11-17 02:33:19
字體:
來源:轉載
供稿:網友

通用可擴展過濾器的開發(背景 過程 收獲)付

  分析上面的需求,我們需要通過以下幾個步驟來構建一個自定義過濾器:

  1. 識別特性,定義枚舉。很容易的發現,需求中包含兩個特性,分別是【長度不小于3】和【包含1】,因此,我們定義一個枚舉如下
        [Flags]    public enum DemoStringEnumType    {        /// <summary>        /// 長度大于3        /// </summary>        LongLen = 1,        /// <summary>        /// 包含1        /// </summary>        HasOne = 2,         /// <summary>        /// 無效值        /// </summary>        NN = 1024    }

  2. 繼承基類,構建自定義過濾器對象。基類泛型需要兩個參數,分別是【待處理數據的數據類型】以及【特性的枚舉類型】
        public class StringFilterCore : ComplexFilterCore<string, DemoStringEnumType>    {    }

  3. 開發過濾器。不難發現,需求中的過濾器,就是去【判斷下一個字符串是否是整數】
       /// <summary>    /// 是否是整數過濾器    /// 繼承IFilter    /// </summary>    public class IsNumberFilter : IFilter<string>    {        /// <summary>        /// 判斷字符串是否為政策        /// </summary>        /// <param name="item">待檢驗字符串</param>        /// <returns>bool</returns>        public bool DoFilter(string item)        {            int tem;             return int.TryParse(item, out tem);        }    }

  4. 開發識別器。
        /// <summary>    /// 識別器    /// 繼承IEnumTypeIdentifier接口    /// </summary>    public class IdentifyDemoString : IEnumTypeIdentifier<string, DemoStringEnumType>    {        /// <summary>        /// 識別對象特性        /// </summary>        /// <param name="item">待識別字符串</param>        /// <returns>DemoStringEnumType</returns>        public DemoStringEnumType IdentifyItemTypeAsEnumType(string item)        {            //初始化結果            DemoStringEnumType result = DemoStringEnumType.NN;            //識別長度是否大于3            if (item.Length > 3)            {                result |= DemoStringEnumType.LongLen;            }            //識別是否包含1            if (item.Contains("1"))            {                result |= DemoStringEnumType.HasOne;            }            return result;        }    }

  5. 構建客戶端,調試代碼。
            static void Main(string[] args)        {            //初始化過濾器            StringFilterCore demoStrFilterCore = new StringFilterCore();            //初始化 HasOne 2 LongLen 1            demoStrFilterCore.SetMinGetCount(DemoStringEnumType.LongLen, 1);            demoStrFilterCore.SetMinGetCount(DemoStringEnumType.HasOne, 2);            //注冊類型識別器 識別特性 DemoStringEnumType            demoStrFilterCore.RegistEnumTypeIdentifier(new IdentifyDemoString());            //添加過濾器 過濾掉不是整數的字符串            demoStrFilterCore.AddFilter(new DemoStringContentFilter());            //初始化數據源            var ls = new List<string> { "123", "246", "b", "15", "16", "a32" };            //執行過濾            var result = demoStrFilterCore.GetFilteredResult(ls);            //打印結果            Console.WriteLine(string.Join(",", result.Keys));            Console.ReadKey();        }

收獲

  抽象出通用的部分,讓開發人員只關注于業務是框架存在的一大必要因素。本文提出的過濾方案具有很高的擴展性,有興趣的同學可以下載demo研究下。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区亚洲欧洲国产日韩| 97视频在线观看视频免费视频| 一区二区欧美亚洲| 国产日韩一区在线| 久久久久久久久中文字幕| 国产精品视频区| 国产欧美日韩免费看aⅴ视频| 欧美激情视频一区二区三区不卡| 日韩视频中文字幕| 日韩欧美成人区| 欧美日韩成人在线观看| 久久影院资源网| 国产精品午夜国产小视频| 成人免费xxxxx在线观看| 久久久久国产精品免费| 亚洲丁香婷深爱综合| 亚洲视频专区在线| 欧美性xxxx极品高清hd直播| 亚洲精品视频在线播放| 在线观看欧美成人| 国产91av在线| 91在线视频一区| 福利二区91精品bt7086| 日本精品久久久久影院| 欧美激情精品久久久久久蜜臀| 国产日韩欧美影视| 亚洲综合大片69999| 欧美黄色片视频| 亚洲国产第一页| 日韩精品在线免费观看| 91网站在线看| 久久韩国免费视频| 91中文字幕在线观看| 亚洲第一视频网站| 日韩二区三区在线| 久久久精品国产亚洲| 久久久精品视频在线观看| 日韩专区在线观看| 精品一区二区三区电影| 日韩中文视频免费在线观看| 国产亚洲一区二区精品| 国产精品 欧美在线| 亚洲精品免费网站| 成人在线视频网| 国产精品久久久久久久久| 这里只有精品视频| 国产在线拍揄自揄视频不卡99| 欧美日韩视频免费播放| 美女国内精品自产拍在线播放| 国产成人精品午夜| 日韩精品免费一线在线观看| 国产精品视频男人的天堂| 日韩成人在线视频| 精品爽片免费看久久| 欧洲s码亚洲m码精品一区| 成人激情电影一区二区| 97色在线观看免费视频| 亚洲欧美制服综合另类| 欧美成人国产va精品日本一级| 亚洲精品99久久久久中文字幕| 午夜精品福利在线观看| 国产中文字幕91| 日韩亚洲一区二区| 亚洲字幕在线观看| 欧美亚洲国产精品| 国产精品日韩欧美大师| 久久久精品一区二区| 在线看片第一页欧美| 91成人在线视频| 91深夜福利视频| 国产在线精品自拍| 7777精品久久久久久| 国产美女精彩久久| 国产精品国产亚洲伊人久久| 成人性生交大片免费看小说| 亚洲女人被黑人巨大进入al| 97视频在线观看播放| 97avcom| 午夜精品一区二区三区在线视频| 亚洲精品免费网站| 亚洲第一精品夜夜躁人人爽| 欧美成人剧情片在线观看| 欧美一区深夜视频| 日本国产一区二区三区| 欧美精品成人在线| 亚洲精品中文字幕女同| 欧美与黑人午夜性猛交久久久| 菠萝蜜影院一区二区免费| 国产成人精品一区| 国产午夜精品免费一区二区三区| 国产视频久久久久| 欧美三级欧美成人高清www| 中文字幕日韩有码| 国产精品网址在线| 九色成人免费视频| 欧美不卡视频一区发布| 久久久久免费视频| 亚洲国产精品悠悠久久琪琪| 中文字幕亚洲一区在线观看| 亚洲国语精品自产拍在线观看| 欧美国产日本高清在线| 午夜精品久久久久久99热| 国产欧美va欧美va香蕉在线| 亚洲男人7777| 久久久99免费视频| 欧美国产乱视频| 欧美大尺度在线观看| 91探花福利精品国产自产在线| 国产一区二区三区在线播放免费观看| 91国偷自产一区二区三区的观看方式| 成人国产精品av| 亚洲一区二区三区在线视频| 91免费的视频在线播放| 亚洲人成五月天| 国产精品69av| 亚洲乱码一区二区| 91久久久久久久一区二区| 国产精品自拍视频| 国产精品狼人色视频一区| 亚洲一区二区三区香蕉| 亚洲精品影视在线观看| 国产欧美精品一区二区三区-老狼| 亚洲综合精品伊人久久| 欧洲成人在线观看| 亚洲午夜性刺激影院| 久久深夜福利免费观看| 亚洲91av视频| 精品久久久国产精品999| 国产精品九九久久久久久久| 欧美成人激情视频免费观看| 国产999精品久久久影片官网| 亚洲午夜av久久乱码| 国产91在线高潮白浆在线观看| 国产精品自产拍在线观看中文| 亚洲一区二区三区视频播放| 亚洲第一av网| 欧美另类老肥妇| 欧美另类暴力丝袜| 中文字幕九色91在线| 欧美在线观看www| 日本久久久久久久| 91精品国产高清自在线| 日本不卡免费高清视频| 久久久久久久999| 亚洲一区二区三区乱码aⅴ| 久久免费精品日本久久中文字幕| 亚洲精品视频网上网址在线观看| 国产精品永久免费| 国产精品美女主播| 国产精品女主播视频| 久久久久久久久爱| 亚洲精品videossex少妇| 色婷婷综合成人| 欧美激情精品久久久久久变态| 91精品国产色综合| 欧美成人中文字幕在线| 精品国产一区二区三区在线观看| 久久久久久久久久久久久久久久久久av| 亚洲精品狠狠操| 韩国19禁主播vip福利视频| 国产91|九色| 国产精品高清网站| 91在线无精精品一区二区| 亚洲视频视频在线|