[英]How to avoid if statement and call multiple constructors
我想問一下如何處理多個構造函數。
if(a != null && b != null)
return new QueryProducer(query, a, b);
else if(a != null)
return new QueryProducer(query, a);
else if(b != null)
return new QueryProducer(query, b);
else return new QueryProducer(query);
我想避免其他復雜的塊。 在這種情況下,可伸縮性也不是很好。
在這里使用構建器模式怎么樣? 請參閱Javacodegeeks的此鏈接以獲取代碼示例
QueryProducer.withQuery(yourQuery).withA(a).withB(b).build();
創建一個構建器,該構建器根據傳遞的參數構建QueryProducer。 您可以將創建對象的所有邏輯放在一個位置。 我想到的另一件事是將所有三個參數傳遞給構造函數,並在那里進行處理,但由於可能發生異常,我幾乎總是避免在構造函數中放置任何邏輯。
正如其他人回答的那樣,如果您遇到以下任何一種情況都成立的情況,那么您應該強烈考慮使用構建器模式(使用一個輔助對象,通常由對象類中的靜態嵌套類定義)您想要的對象):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.