2016年4月14日 星期四

設計模式六:原型模式(Prototype)

原型模式:用原型實例指定建立物件的種類。
而且必須注意的是,如果物件內含其他物件,就要了解何時用淺層複製,何時用深層複製。

如果物件有一個clone的程序可以複製自我,這樣有什麼好處?和工廠模式總是用new來產生物件相比,其目的是?

狀況一:如果new很慢時、很費資源時。例如遠端網站的圖片。如果又有一個request需要這個物件,那麼是否可以用原型模式複製一個就好?這算不算一個例子?

狀況二:如果一個物件的資料必須透過許多搜尋、計算才能得到,那麼要再一個的時候,就別去用工廠模式了,用原型模式複製即可。

總之,就是copy物件。但是,如何讓程式可以適當地應用工廠和原型在設計中,而又符合物件導向的各原則呢?我認為這十分值得深思、更需要深入的體驗。


沒有留言:

張貼留言