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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式之规格模式

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

規(guī)格模式

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

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

類圖如下:

?

其中的角色如下:

  • ISpecification 抽象規(guī)格書: 對規(guī)格書的抽象定義
  • CompositeSpecification 組合規(guī)格書: 抽象類, 對規(guī)格書進行 與或非 操作, 實現(xiàn) and,or,not 方法, 在方法中關聯(lián)子類, 因為子類為固定類,故而父類可以進行關聯(lián)
  • AndSpecification 與規(guī)格書: 對規(guī)格書進行與操作, 實現(xiàn) isSatisfiedBy 方法
  • OrSpecification 或規(guī)格書
  • NotSpecification 非規(guī)格書
  • BizSpecification 業(yè)務規(guī)格書: 實現(xiàn) isSatisfiedBy 方法, 對業(yè)務進行判斷, 一個類為一種判斷方式, 可進行擴展
  • 抽象規(guī)格書代碼:

    ?

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

    ?

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

    ?

    ?

    ?

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

    ?

    場景類:

    ?


    規(guī)格模式已經是一個非常具體的應用框架了, 遇到類似多個對象中篩選查找, 或者業(yè)務規(guī)則不適于放在任何已有實體或值對象中, 而且規(guī)則的變化和組合會掩蓋那些領域對象的基本含義, 或者是想自己編寫一個類似LINQ的語言工具的時候就可以照搬這部分代碼, 只要實現(xiàn)自己的邏輯規(guī)格書即可

    總結

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

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