我正在嘗試實現請求/響應客戶端。這是它的基本實現。實現請求響應設計
Class Request
{
prepareRequest1();
prepareRequest2();
}
Class Response
{
processResponse1();
processResponse2();
}
Class Client
{
connect();
sendRequest();
}
myrequest = new Request();
client = new Client (myserver);
my $rawResponse1 = client.sendRequest (myrequest.prepareRequest1());
myresponse = new Response();
myresponse.processResponse1 ($rawResponse1);
我有三個類 - 即請求,響應和客戶端。請求類包含特定於請求的功能。這些請求是XML請求。除了少數初始標籤(例如sessionid等)之外,XML請求沒有任何共同之處。所有其他XML參數都是特定於請求類型的。所以,目前我正在通過爲每個請求創建一個單獨的函數來處理它。我明白它有一個可擴展性問題,但請建議我可以在此處應用的其他最佳方法。
與請求類似,對每個請求的響應都需要特定的處理。所以我有一個單獨的功能,特定於每種類型的響應我期待。通常,您可以假設請求和響應之間存在1:1映射。
最後是手持連接的客戶端類。
我有近50個這樣的請求和響應,我打算用這種方法來實現。由於我處於開發的初始階段,請爲我推薦一些改進/最佳實踐來實施此類請求/響應。
我幾乎50多個不同類型的消息(請求/響應)。有50個班,每個留言一個班是好的。 – rpg
只要你覺得易於管理,上課就不算犯罪。但這又是我的看法。但是,如果你不想管理這些類,並且在請求和類之間有一個1-1映射,就像我建議的那樣,你可以總是試着將'請求'一起聚合在一起,並使用同一個類來服務它們,但是它最好保留這個映射到哪個xml請求 - >映射到哪個類 - >映射到xml配置文件中的代碼之外的哪個方法。這給你最大的靈活性。你將實例化你的類並通過反射調用方法 – sethu
謝謝sethu,這看起來更有希望。 – rpg