接上一篇: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