我要實現與支付系統工作類(姑且稱之爲PaymentSystem)API,允許下列操作:我應該使用哪種設計模式? (支付系統API)
- 開具發票給用戶
- 檢查發票
- 獲取用戶平衡
- 檢查收款方存在
我現在所得到的是:
抽象類PaymentSystemBase
,所有的設置都保持(安全令牌,密碼,RESTful API中的URL等)
每個API入口類:
PaymentSystemIssueInvoice
PaymentSystemCheckInvoice
PaymentSystemGetBalance
PaymentSystemCheckUser
每個此類都從PaymentSystemAPI
繼承與方法(從PaymentSystemBase繼承,當然):
request
-parseResponse
解析從API響應(主要是告訴請求是否成功,或者執行通過HTTP請求我們已經得到了一個錯誤)
所以我的問題是:這將是方便使用一些創作設計模式,爲的API(IssueInvoice
,CheckInvoice
,GetBalance
,CheckUser
)?
如果你對我有什麼建議,我應該以另一種方式實現API,請隨時回答/評論問題。
謝謝。
聽起來你已經實現了[command pattern](http://en.wikipedia.org/wiki/Command_pattern)? – Irfy 2012-02-28 01:47:44
是的,但它是一種行爲模式。我期待封裝這些類不要直接使用它們,而是通過通用接口,像這樣(我在想它):'PaymentSystem.apiCall.getBalance(params)'(僞代碼)。 apiCall做的是:用'params'創建PaymentSystemGetBalance實例,然後調用'request'並返回'PaymentSystemGetBalance'的實例(類似'factory'和'builder'的混合) – Nemoden 2012-02-28 02:58:50
,重點是:如果我添加另一個API ,比方說'PaymentSystemDeclineIvoice',我仍然會通過這個通用接口('PaymentSystem.apiCall.DeclineInvoice(params)')使用它,這對我來說似乎很方便。雖然我不是設計模式方面的專家,但如果採取這種方式,我不會意識到任何缺點。一種臃腫的問題 - 我意識到:) – Nemoden 2012-02-28 03:01:41