作法(Mechanics)
- 使用Replace Constructor with Factor Method(304)。
- 編譯,測(cè)試。
- 決定由什么對(duì)象負(fù)責(zé)提供訪問(wèn)新對(duì)象的途徑。
- ==》可能是個(gè)靜態(tài)字典(static dictionary)或一個(gè)注冊(cè)對(duì)象(registry object)
- ==》你也可以使用多個(gè)對(duì)象作為新對(duì)象的訪問(wèn)點(diǎn)(access point)。
- 決定這些reference object應(yīng)該預(yù)先創(chuàng)建好,或是應(yīng)該動(dòng)態(tài)創(chuàng)建。
- ==》如果這些reference object是預(yù)先創(chuàng)建好的,而你必須從內(nèi)存中被它們讀取出來(lái),那么就得確保它們?cè)诒恍枰臅r(shí)候能夠被及時(shí)加載。
- 修改factory method,令它返回reference object。
- ==》如果對(duì)象是預(yù)先創(chuàng)建好的,你就需要考慮:萬(wàn)一有人索求一個(gè)其實(shí)并不存在的對(duì)象,要如何處理錯(cuò)誤?
- ==》你可能希望對(duì)factory method使用Rename Method(273),使其傳達(dá)這樣的信息;它返回的是一個(gè)既存對(duì)象。
- 編譯,測(cè)試。
|