一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

API設計新思維:用流暢接口構造內部DSL

  程序設計語言的抽象機制包含了兩個最基本的方面:一是語言關注的基本元素/語義;另一個是從基本元素/語義到復合元素/語義的構造規則。在C、C++、Java、C#、Python等通用語言中,語言的基本元素/語義往往離問題域較遠,通過API庫的形式進行層層抽象是降低問題難度最常用的方法。比如,在C語言中最常見的方式是提供函數庫來封裝復雜邏輯,方便外部調用。

  不過普通的API設計方法存在一種天然的陷阱,那就是不管怎樣封裝,大過程雖然比小過程抽象層次更高,但本質上還是過程,受到過程語義的制約。也就是說,通過基本元素/語義構造更高級抽象元素/語義的時候,語言的構造規則很大程度上限制了抽象的維度,我們很難跳出這個維度去,甚至可能根本意識不到這個限制。而SQL、HTML、CSS、make等DSL(領域特定語言)的抽象維度是為特定領域量身定做的,從這些抽象角度看問題往往最為簡單,所以DSL在解決其特定領域的問題時比通用程序設計語言更加方便。通常,SQL等非通用語言被稱為外部DSL(External DSL);在通用語言中,我們其實也可以在一定程度上突破語言構造規則的抽象維度限制,定義內部DSL(Internal DSL)。

  本文將介紹一種被稱為流暢接口(Fluent Interface)的內部DSL設計方法。Wikipedia上Fluent Interface的定義是:

A fluent interface (as first coined by Eric Evans and Martin Fowler) is an implementation of an object oriented API that aims to provide for more readable code. A fluent interface is normally implemented by using method chaining to relay the instruction context of a subsequent call (but a fluent interface entails more than just method chaining).

it知識庫API設計新思維:用流暢接口構造內部DSL,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色yeye成人免费视频 | 手机看片自拍自拍自拍 | 午夜福利国产一级毛片 | 亚洲欧洲视频在线观看 | 色婷婷中文字幕在线一区天堂 | 欧美91精品久久久久网免费 | 国产l精品国产亚洲区久久 国产swag在线 | 亚洲影视精品 | 久久99精品久久久久子伦 | 东方伊人免费在线观看 | 天天在线影院天天在线视频 | 韩国美女丝袜一区二区 | 国产精品久久国产精麻豆99网站 | 97一本大道波多野吉衣 | 91中文| 上色天天综合网 | 精品国产美女福利在线 | 色多多视频在线 | 欧美激情a∨在线视频播放 欧美激情不卡 | 国产在线精品福利大全 | www视频在线播放 | 99在线观看巨臀大臀视频 | 97色婷婷成人综合在线观看 | 久久亚洲私人国产精品 | 婷婷深爱五月 | 美女把屁股扒开让男人桶视频 | 免费在线观看色 | 凹凸精品视频分类国产品免费 | 99久久国产综合精麻豆 | 美女黄网 | xf在线a精品一区二区视频网站 | 中文国产成人精品少久久 | 四虎新网站 | 一二三四视频社区在线中文 | 日韩美女色高清在线看 | 久久久久久久久一级毛片 | 91精品国产91久久综合 | 日韩激情在线播放 | 精品欧美一区二区三区四区 | 色草在线| 国产伦精一区二区三区 |