iT邦幫忙

2022 iThome 鐵人賽

DAY 12
1
自我挑戰組

【從工程師升級成為資深工程師的那檔事】 系列 第 12

【從工程師升級成為資深工程師的那檔事Day 12】設計模式 - 原型模式

  • 分享至 

  • xImage
  •  

是不是創建所有的物件都需要使用設計模式呢?

很多在剛接觸設計模式的夥伴們,當他們感受到設計模式的神通廣大後,
往往都會開始想著如何重構自己的程式碼,並在其中加入很多的設計模式。

設計模式確實就像是一把神器,當你剛開始具備能力舉起神器之後,
會感受到很多問迎刃而解。
而慢慢深入會發現當初用的這些神器只是高人們的玩具。
最後當你對於設計有更高的造詣時就會發現,草木竹石皆可為劍。
那我們應不應該學設計模式呢?
這個問題留給各位夥伴們,到鐵人賽的最後我們再來分享。

在這邊分享完之後,我們就說完了所有的創建型的設計模式。
接著我們來分享最後一個創建型的設計模式吧。

原型模式 Protype Pattern

定義

通過複製一個已存在的物件(Object),來創建一個新的物件

用途

透過複製代替創建有兩個面向的好處,
一個是撰寫上可以減少初始化的設定(少寫一些重複的程式碼)
另一個是降低系統花費在創建上的資源,甚至可以減少與資料庫溝通的次數,進而增加效能。

除了一般資料的複製外,在畫面設計上也是非常適合的模式。
像是遊戲上不斷的小怪、畫面上一些重複的元件...等。

結語

個人認為原型模式(Protype Pattern)與其說是一個設計模式,
倒不如說比較像是物件導向中一個比較常用的語言機制。
運作的概念大致是讓系統從一個記憶體空間,複製一份內容放到另一個記憶體空間。

那在我們撰寫程式時,可能還會遇到淺複製深複製的問題。
因為這邊想要聚焦在這個設計模式上,所以這細節就不再討論了。


上一篇
【從工程師升級成為資深工程師的那檔事Day 11】設計模式 - 生成器模式
下一篇
【從工程師升級成為資深工程師的那檔事Day 13】創建型設計模式(總結)
系列文
【從工程師升級成為資深工程師的那檔事】 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言