新聞中心
C# Fluent Interface是如何實(shí)現(xiàn)的呢?首先我們來看看Fluent Interface,直譯過來是 “流暢(流利)的接口”,照字面有點(diǎn)難以理解,那么Fluent Interface是如何實(shí)現(xiàn)的呢?下面讓我們從代碼上向你介紹:

站在用戶的角度思考問題,與客戶深入溝通,找到文成網(wǎng)站設(shè)計(jì)與文成網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋文成地區(qū)。
C# Fluent Interface代碼實(shí)現(xiàn):
- public interface IRect
- {
- void SetWidth(int width);
- void SetHeight(int height);
- }
- public Rect : IRect
- {
- private int _width;
- private int _height;
- public void SetWidth(int width) { this._width = width; }
- public void SetHeight(int height){ this_height = height; }
- }
- public static void Main(string [] args)
- {
- IRect rect = new Rect();
- rect.SetHeight(10);
- rect.SetWidth(50);
- }
沒有什么花俏的東西,一個可設(shè)長寬的矩形接口并提供一個簡單實(shí)現(xiàn)。接下來看看用另一種方式
- public interface IRectFluent
- {
- IRectFluent SetWidth(int width);
- IRectFluent SetHeight(int height);
- }
- public RectFluent : IRectFluent
- {
- private int _width;
- private int _height;
- public IRectFluent SetWidth(int width) { this._width = width; return this; }
- public IRectFluent SetHeight(int height){ this_height = height; return this; }
- }
- public static void Main(string [] args)
- {
- IRectFluent rect = new RectFluent();
- rect.SetHeight(10).SetWidth(50); // checkpoint
- }
這種“鏈?zhǔn)?方法調(diào)用方式是不是更接近我們?nèi)四X的思維方式,更簡潔呢。沒錯, It's Fluent Interface。
個人理解的Fluent Interface 就是 在面向?qū)ο缶幊讨?,使用某種方式(通常但不限于使用 方法鏈方式)來實(shí)現(xiàn)更具可讀性,易用性的編程方式。而方法鏈的關(guān)鍵之處就是在方法內(nèi)部調(diào)用***要返回調(diào)用者本身。
所謂Fluent借助于wikipedia的說法就是‘This style is beneficial due to its ability to provide a more fluid feel to the code."
說到這里,經(jīng)常使用jquery的朋友肯定感覺很熟悉上面的使用方式。
沒錯,類似于 $('id').show().css('').fadeOut(); 這種就是一種Fluent Interface實(shí)現(xiàn)。
C# Fluent Interface的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C# Fluent Interface有所幫助。
【編輯推薦】
- C# interface學(xué)習(xí)經(jīng)驗(yàn)淺談
- C# interface使用實(shí)例分析
- 淺析abstract class和interface的不同
- 詳解abstract class和interface的本質(zhì)
- 關(guān)于interface繼承來源的討論
標(biāo)題名稱:C# Fluent Interface概念實(shí)例淺析
鏈接地址:http://www.fisionsoft.com.cn/article/dpejjeg.html


咨詢
建站咨詢
