各位道友,進來討論個介面設計問題!
目前公司關於介面的設計主要有兩種形式:
public interface BussinessInterface{
||第一種方式
//此種設計是透過返回Result物件來實現的,客戶端透過檢視Result來判斷
當前的業務操作是否成功,一般會在Result類裡面包括resultCode(表示返回
的錯誤程式碼)和resultMessage(表示返回的錯誤資訊)
public Result<BussinessModel> bussinessOperation(...);
||第二種方式
//另外一種方式是透過異常的形式,客戶端透過捕獲異常來了解到介面呼叫是否成功,
以及失敗的原因等資訊
public BussinessModel bussinessOperation(....)throws BussinessException1,BussinessException2;
}
以上兩種方式各有各的好處:
第一種方式:
優點:因為異常的傳遞是會有一定的消耗的,因此第一種方式能使得系統節省一定的消耗。
缺點:介面不夠明確,客戶端需要根據結果碼來判斷業務操作是否成功。
第二種方式:
優點:介面設計明確,客戶端可以很清楚的指導呼叫此介面可能會出現什麼樣子的問題
缺點:異常的傳遞需要一定的消耗
在遠端呼叫的時候,需要客戶端也要保持一份關於業務異常的jar,同時也會帶來異常序列化開銷。
我起個頭,大家說說自己的看法。各抒己見。
public interface BussinessInterface{
||第一種方式
//此種設計是透過返回Result物件來實現的,客戶端透過檢視Result來判斷
當前的業務操作是否成功,一般會在Result類裡面包括resultCode(表示返回
的錯誤程式碼)和resultMessage(表示返回的錯誤資訊)
public Result<BussinessModel> bussinessOperation(...);
||第二種方式
//另外一種方式是透過異常的形式,客戶端透過捕獲異常來了解到介面呼叫是否成功,
以及失敗的原因等資訊
public BussinessModel bussinessOperation(....)throws BussinessException1,BussinessException2;
}
以上兩種方式各有各的好處:
第一種方式:
優點:因為異常的傳遞是會有一定的消耗的,因此第一種方式能使得系統節省一定的消耗。
缺點:介面不夠明確,客戶端需要根據結果碼來判斷業務操作是否成功。
第二種方式:
優點:介面設計明確,客戶端可以很清楚的指導呼叫此介面可能會出現什麼樣子的問題
缺點:異常的傳遞需要一定的消耗
在遠端呼叫的時候,需要客戶端也要保持一份關於業務異常的jar,同時也會帶來異常序列化開銷。
我起個頭,大家說說自己的看法。各抒己見。
相關文章
- 討論個有關模組化設計的問題
- 請教Banq和各位道友連線失效問題
- 一個有趣的故事(請討論JdonFramework的各位進)Framework
- 提一個巨難的問題,請高手們來討論..
- 請問各位道友?jive學習應該哪些東西?
- 一個XML資料統計問題,期待大家的討論XML
- 介面設計問題
- 有個關於會員頭像應用的問題困惑了很久,請banq和各位道友指教
- 想請教一下各位一個介面寫法問題
- 各位,問個我昨天面試的問題。面試
- laravel 事件系統 問題討論Laravel事件
- 表結構設計討論
- 請教各位高手一個問題
- 功能,介面,類之間轉化,設計的原則的討論。
- 求一.NET算術演算法.歡迎朋友們都進來討論討論.演算法
- 和開發同學討論的一個技術問題
- 一點點技術難點請教各位道友
- 討論設計模式和00思想設計模式
- [討論]“消滅”程式設計師?程式設計師
- 來個大佬看看介面用例設計
- Gear: 一個 Go web framework 的設計思考和討論GoWebFramework
- [討論]關於一個設計方面的問題――主動物件和被動物件中的方法定義物件
- 從一個問題討論到Decode函式返回值函式
- 一起討論一個BSTR型別轉換問題 (轉)型別
- 設計模式討論之abstract factory篇設計模式
- 誰研究過picocontainer 進來討論一下!AI
- 大家進來討論下正規表示式的應用
- 近期討論過的一些MySQL問題MySql
- 討論java與sql server相容性問題JavaSQLServer
- 一個現實但貌似沒人討論過的問題,用DDD開發軟體,設計書怎麼寫?
- 專案需求討論 — 待機介面
- [技術討論]多使用者(多公司)的資料庫設計討論資料庫
- GoF設計模式新手討論專用帖Go設計模式
- 設計模式討論之abstract factory篇 (轉)設計模式
- 請教各位大俠一個JavaBean的問題JavaBean
- 探討免費遊戲設計的道德標準問題遊戲設計
- K君關於“IT 新人就業方向問題“討論就業
- 請多討論問題,而不是解決方案 - frankel