接上一篇: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=xxx
當你願意看到這裡時,後續還有4篇:下面是連結:
(原創)多系統間需要對接,我寫了一個介面框架。實用性非常強,寫出來大家交流。需要的可以直接搬過去用。(第1篇) http://www.cnblogs.com/mazhiyuan/p/5224046.html
(原創)物件導向的系統對接介面編寫。第2篇 http://www.cnblogs.com/mazhiyuan/p/5224049.html
(原創)物件導向的系統對接介面編寫。第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.html
如果看完,有不明白的可以評論發給我。
真的很好用的。。有需要做介面的同學。。可以把整個框架拿去用下。
提供原始碼下載,請點選:原始碼