我有一個 Product 類和 Builder 類,其中一個可以構建該產品子類,從數據庫獲取數據,另一個構建器可以構建該產品,從其他來源獲取數據。到目前為止我有一個界面:public interface ProductDao { Product buildProduct(RetrieveBy by, String s);}具有構建選項的枚舉:public enum RetrieveBy { NAME, TYPE, BRAND}我不知道命名將要實現接口并將構建從數據庫獲取數據的產品的類的最佳方式是什么,以及可以構建從其他源(JSON、XML 或屬性文件)獲取數據的產品的其他類)。有人建議我只創建一個類并命名它ProductBuilder,但是,在我看來,這違反了單一責任原則。
2 回答

HUX布斯
TA貢獻1876條經驗 獲得超6個贊
事實是:這里沒有硬性規則,只有慣例,最重要的是:您的公司/團隊/項目中存在的“先例”。
換句話說:做你周圍其他人所做的事情。
我的個人風格:
我會稱該接口
ProductBuiler
... DAO 意味著“數據訪問對象”,該接口與此無關(直接)然后我會為該類命名
ProductBuilderImpl
?;蛘?,如果每個“源”都有一個實現,那么簡單地JsonProductBuilder
或可能ProductBuilderForJson
.
但正如所說,真正的答案是:不存在規定名稱的普遍法則。您應該使用對您和您的團隊“感覺”好的東西。

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
我不知道我是否確定您的疑問,但是,DAO 是一個數據訪問對象,基本上它將應用程序/業務層與持久層隔離。
如果您想創建一個構建器接口,可能是類似ProductBuilder.java 的接口,以及ProductBuilderImp.java的實現。
添加回答
舉報
0/150
提交
取消