說我有2類在SOA模型應用..類變量VS在java的傳遞參數 - 的設計問題
- 服務類 - 這需要請求,並返回響應
- 爲了進一步處理(比如,商業邏輯/解析/道等),它將請求傳遞給SvcBusiness類。
問題是,應該是SvcBusiness類使用請求作爲它的類變量,還是應該在其中一個業務方法中使用請求?有可能需要將請求傳遞給其他較低層,如DAO層。這些類是否也使用請求作爲類變量,或者請求是否只是方法的一部分?
ServiceImpl類:
public class ServiceImpl {
public Response getDataForType1Request(Request type1) {
SvcBusiness buzclazz = new SvcBusiness();
return buzclazz.doOperationForType1(type1);
}
public Response getDataForType2Request(Request type2) {
SvcBusiness buzclazz = new SvcBusiness();
return buzclazz.doOperationForType2(type2);
}
}
選項1:當請求作爲參數傳遞。
public class SvcBusiness {
public Response doOperationForType1(Request type1) {
// do business and return response1
}
public Response doOperationForType2(Request type2) {
// do business and return response2
}
}
選項2:請求被設置爲類變量。在這種情況下,ServiceImpl將在創建對象時將請求傳遞給SvcBusiness構造函數,並且將簡單地調用execute()方法。
public class SvcBusiness {
private Request request;
public SvcBusiness(Request request) {
this.request = request;
}
private Response doOperationForType1() {
// do business and return response1
}
private Response doOperationForType2() {
// do business and return response2
}
public Response execute() {
// if type1 request call doOperationForType1()
// if type2 request call doOperationForType1()
}
}
請幫忙!兩者的優點和缺點是什麼?是否有設計模式來解決這種情況?