我使用廠創建我的對象,如下面的,這裏既有MyObject
和YourObject
類實現MyInterface
:使用字段/在工廠類變量跨越通過工廠創建對象使用
public class MyFactory {
public static MyInterface myObject(int value, int commonValue) {
return new MyObject(value, commonValue);
}
public static MyInterface yourObject(String str, int commonValue) {
return new YourObject(str, commonValue);
}
}
我想在工廠級別設置commonValue
,而不是將它們作爲單個方法中的參數傳遞,因爲使用工廠傳遞相同的值以創建對象集合。另外,一旦我使用工廠創建一組對象,我想將commonValue
重置爲其默認值,以便之後默認不使用之前設置的值。 什麼是正確的方法來做到這一點?
該實現將如何幫助「將commonValue重置爲默認值」?也許不應該使用'final'修飾符,並且可能會爲'commonValue'屬性設置默認值,而使用'defaultValue'屬性作爲'final'。請糾正我,如果我錯了。 –
@FlavioCysne重置值,你創建一個新的工廠:'MyFactory reset = new MyFactory(defaultValue);'。這個建議可能不適用於操作系統的用例,但如果是這樣的話,我認爲這比使用'reset'方法的可變工廠要好得多,因爲它會產生容易出錯的副作用...... – assylias
我認爲這個解決方案對我來說很有用因爲這確實提供了我需要的重置,謝謝+1 – Learner