日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通用业务流水号功能设计

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通用业务流水号功能设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?有一段時間沒有思考代碼相關的工作了,最近項目經常碰到不同業務流水號的生成,下面的技術人員每次都針對流水號生成寫一些復雜的代碼;為了解放以后這方面的工作于是動了一下腦子想一個動態可配置的流水號生產組件,雖然沒寫代碼一段時間但腦子在這方面還是挺靈活,大概想了一下基本就構建出一個通用業務流水號配置功能,以下分享一下這個設計。具體實現:流水號規則定義組件 https://github.com/IKende/BNR

流水號拆分

其實業務流水號都是由不同總分組成,每部分都表達不同的含意。所以在設計上需要對流水號進行分解。以"GZ201602020001RJ"的主要組成部分:{GZ}{20160202}{0001}{RJ}


  • {GZ}
    這個規則主要是描述所在城市地區

  • {20160202}
    當前業務所在的年月日

  • {0001}
    當天遞增量

  • {RJ}
    固定業務類型

? ? ? ?總的來說,業務流水號都是由不同參數所組成。

設計

在設計上必須由一個基礎的設計模型來支持不同參數的來源和擴展,可能定義一個基礎的結構{Type:Parameter}。那流水號的組成規則是{Type1:Parameter}{Type2:Parameter}{Type2:Parameter},通過不同的規則拼裝而成;在技術可以定義一個接口來定義一個參數的定義。

1public?interface?IParameterHandler
2{
3????void?Execute(StringBuilder sb,?string?value);
4}

針對以上規則定義一個簡單針對中文獲取首拼音的規則:{CN:廣州},針對這情況可以實現如下:

01????/// <summary>
02????/// {CN:廣州}
03????/// </summary>
04????[ParameterType("CN")]
05?public?class?ChineseSpellCodeParameter : IParameterHandler
06?{
07????????public?void?Execute(StringBuilder sb,?string?value)
08????????{
09
10????????????foreach?(char?item?in?value)
11????????????{
12????????????????sb.Append(Hz2Py.Convert(item.ToString()).Substring(0, 1));
13????????????}
14
15????????}
16}


? ? ? ? 經過參數模塊解釋{CN:廣州}=GZ

? ? ? ? 通過這種方式可以擴展出很多很多不同的可配置的參數規則來滿足應用的需要。

整體使用效果

針對最開始的那個業務號詳細定義規則如下:{CN:廣州}{D:yyyyMMdd}{N:{D:yyyyMMdd}/0000}{S:RJ}

view sourceprint?

1string[] rule =?new?string[]{
2????"{CN:廣州}{D:yyyyMMdd}{N:{D:yyyyMMdd}/0000}{S:RJ}"
3};
4foreach?(string?item?in?rule)
5{
6????string?value = BNRFactory.Default.Create(item);
7????Console.WriteLine(item);
8????Console.WriteLine(value);
9}

相關文章:

  • 通用的序列號生成器庫


原文地址:http://www.ikende.com/blog/fc23df1797d443c2a052ea3c1fcd7a17


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的通用业务流水号功能设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。