各位道友,進來討論個介面設計問題!

xmuzyu發表於2010-07-08
目前公司關於介面的設計主要有兩種形式:

public interface BussinessInterface{

||第一種方式
//此種設計是透過返回Result物件來實現的,客戶端透過檢視Result來判斷
當前的業務操作是否成功,一般會在Result類裡面包括resultCode(表示返回
的錯誤程式碼)和resultMessage(表示返回的錯誤資訊)
public Result<BussinessModel> bussinessOperation(...);

||第二種方式
//另外一種方式是透過異常的形式,客戶端透過捕獲異常來了解到介面呼叫是否成功,
以及失敗的原因等資訊
public BussinessModel bussinessOperation(....)throws BussinessException1,BussinessException2;

}

以上兩種方式各有各的好處:

第一種方式:
優點:因為異常的傳遞是會有一定的消耗的,因此第一種方式能使得系統節省一定的消耗。

缺點:介面不夠明確,客戶端需要根據結果碼來判斷業務操作是否成功。


第二種方式:
優點:介面設計明確,客戶端可以很清楚的指導呼叫此介面可能會出現什麼樣子的問題

缺點:異常的傳遞需要一定的消耗
在遠端呼叫的時候,需要客戶端也要保持一份關於業務異常的jar,同時也會帶來異常序列化開銷。

我起個頭,大家說說自己的看法。各抒己見。

相關文章