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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

设计模式之规格模式

發(fā)布時(shí)間:2024/8/23 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式之规格模式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

規(guī)格模式

規(guī)格模式 使用了策略模式,組合模式. 只不過將模式具體化了

規(guī)格模式將 與或非 操作進(jìn)行了封裝, 實(shí)現(xiàn)了類似 SQL查詢語(yǔ)句的操作.

類圖如下:

?

其中的角色如下:

  • ISpecification 抽象規(guī)格書: 對(duì)規(guī)格書的抽象定義
  • CompositeSpecification 組合規(guī)格書: 抽象類, 對(duì)規(guī)格書進(jìn)行 與或非 操作, 實(shí)現(xiàn) and,or,not 方法, 在方法中關(guān)聯(lián)子類, 因?yàn)樽宇悶楣潭?故而父類可以進(jìn)行關(guān)聯(lián)
  • AndSpecification 與規(guī)格書: 對(duì)規(guī)格書進(jìn)行與操作, 實(shí)現(xiàn) isSatisfiedBy 方法
  • OrSpecification 或規(guī)格書
  • NotSpecification 非規(guī)格書
  • BizSpecification 業(yè)務(wù)規(guī)格書: 實(shí)現(xiàn) isSatisfiedBy 方法, 對(duì)業(yè)務(wù)進(jìn)行判斷, 一個(gè)類為一種判斷方式, 可進(jìn)行擴(kuò)展
  • 抽象規(guī)格書代碼:

    ?

    組合規(guī)格書代碼:

    ?

    與或非規(guī)格書代碼:

    ?

    ?

    ?

    業(yè)務(wù)規(guī)格書:

    ?

    場(chǎng)景類:

    ?


    規(guī)格模式已經(jīng)是一個(gè)非常具體的應(yīng)用框架了, 遇到類似多個(gè)對(duì)象中篩選查找, 或者業(yè)務(wù)規(guī)則不適于放在任何已有實(shí)體或值對(duì)象中, 而且規(guī)則的變化和組合會(huì)掩蓋那些領(lǐng)域?qū)ο蟮幕竞x, 或者是想自己編寫一個(gè)類似LINQ的語(yǔ)言工具的時(shí)候就可以照搬這部分代碼, 只要實(shí)現(xiàn)自己的邏輯規(guī)格書即可

    總結(jié)

    以上是生活随笔為你收集整理的设计模式之规格模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。