3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
在谷歌測(cè)試博客有一系列的關(guān)于避免(以創(chuàng)建可測(cè)試的代碼)辛格爾頓條目。也許這可以幫助您:
使用依賴注入避免單例
單身人士是病態(tài)的騙子
單身人士的根本原因
單身人士去哪兒了?
上一篇文章詳細(xì)解釋了如何將新對(duì)象的創(chuàng)建移入工廠,因此可以避免使用單例。值得一讀。
簡(jiǎn)而言之,我們將所有新的操作員移至工廠。我們將壽命相似的所有對(duì)象歸為一個(gè)工廠。

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
不要累積對(duì)單個(gè)配置對(duì)象的責(zé)任,因?yàn)樗鼤?huì)以難以理解且脆弱的非常大的對(duì)象結(jié)尾。
例如,如果您需要特定類的另一個(gè)參數(shù)Configuration,則可以更改對(duì)象,然后重新編譯使用該對(duì)象的所有類。這有些問題。
嘗試重構(gòu)您的代碼,以避免一個(gè)通用的全局Configuration對(duì)象。僅將必需的參數(shù)傳遞給客戶端類:
class Server {
int port;
Server(Configuration config) {
this.port = config.getServerPort();
}
}
應(yīng)該重構(gòu)為:
class Server {
public Server(int port) {
this.port = port;
}
}
一個(gè)依賴注入框架將有很大的幫助在這里,但它不是stricly要求。
添加回答
舉報(bào)