(原創)面向對象的系統對接接口編寫。第4篇 (原創)多系統間須要對接,我寫了一個接口框架。實用性很是強,寫出來你們交流。須要的能夠直接搬過去用。(第1篇) (原創)面向對象的系統對接接口編寫。第2篇

接上一篇:http://www.cnblogs.com/mazhiyuan/p/5224050.html

這篇開始寫Post和Get請求的佈局。

咱們就以新聞模塊來舉例吧。其它的模塊,好比用戶啦,好比音頻模塊啦,依樣畫葫蘆,都同樣的。

圖片

先建立一個新聞模塊的文件夾。咱們叫「News"

圖片
而後,如上圖1,2,3共三個紅圈。建立這3個文件。

咱們先講第2件文件:CommandType.cs
圖片

CommandType.cs文件,如上圖。他就是一個枚舉。裏面定義了各類業務邏輯。好比裏面有」添加新聞動態「。在這裏,咱們就以添加新聞動態爲例子。
要注意的是:咱們給添加新聞動態起的名字叫:AddAppNews ,那麼這個名字。必需要有一個相應的.cs文件。不是隨便亂寫的。

還記得上面有張圖,裏面有3個紅圈嗎?其中第1個紅圈的名字,就叫AddAppNews.cs。這裏要注意名字必須一致。那有人會問了,爲何啊?由於咱們這裏用到了反射技術。到時候會將這個名字反射爲一個真實的.cs文件。。因此必須同樣。若是不同,就反射不到了。





下面講Index.cs文件。也就紅圈中的第3個:
圖片

代碼細說,裏面用到了單例模式。。關於單例模式,我就不解釋他的代碼了。就這麼簡單:如上圖的第12行到第19行,就是單例模式的全部代碼。共7行。

public BaseCommand CreateCommandInstance(CommandType type)    這個方法用到了反射技術。上面的CommandType.cs的枚舉命名,就是用在這裏了。到時候會在這裏反射。




下面講具體業務:AddAppNews.cs文件:
圖片

代碼細說下:
public class AddAppNews : Post    添加新聞,咱們用的是POS請求,因此要繼承POST基類。
public AddAppNews() { }    構造函數必須是public,只有這樣,才能反射成功。
public override void Excute()    實現基類的業務方法Excute()
AppNews appNews = this.Deserialize<AppNews>();    這裏用到了基類Post.cs中的protected T Deserialize<T>()方法。還記得這個方法嗎?不記得就回過去看一下。





上面講的是POST請求的業務處理。下面列一個GET請求的處理。
好比咱們要取新聞。咱們就講一下取新聞的GET請求。
圖片

代碼方法,和Post請求的業務邏輯,好比AddAppNews.cs是相似的。
所不一樣的是:
string userIdReq = this.Input["UserID"];    他是用這種方式來處理傳遞過來的參數。好比get請求時,請求端發了一個UserID的參數。一般請求的url會是這樣子的:http://www....com/News.aspx?UserID=xxxhtml

 

 

 

當你願意看到這裏時,後續還有4篇:下面是連接:app

(原創)多系統間須要對接,我寫了一個接口框架。實用性很是強,寫出來你們交流。須要的能夠直接搬過去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html框架

(原創)面向對象的系統對接接口編寫。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.htmlide

(原創)面向對象的系統對接接口編寫。第3篇 http://www.cnblogs.com/mazhiyuan/p/5224050.html函數

(原創)面向對象的系統對接接口編寫。第4篇 http://www.cnblogs.com/mazhiyuan/p/5224054.html佈局

(原創)面向對象的系統對接接口編寫。第5篇(完結) http://www.cnblogs.com/mazhiyuan/p/5224056.htmlpost

 

若是看完,有不明白的能夠評論發給我。this

 

真的很好用的。。有須要作接口的同窗。。能夠把整個框架拿去用下。url

 

 

提供源碼下載,請點擊:源碼3d

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息
相關文章