閱讀Level Up Your Code With Game Programming Patterns
這本 Unity 的電子書《Level up your code with game programming patterns》 對於提升遊戲開發者的程式設計能力非常有幫助。
以下是該電子書的網址與Github
網址:https://blog.unity.com/games/level-up-your-code-with-game-programming-patterns
Github:https://github.com/Unity-Technologies/game-programming-patterns-demo/tree/main
這本書介紹了工程師必須了解的SOLID 原則(SOLID principles
),這些原則是編寫高質量程式碼的基礎,SOLID原則是以下五大原則的簡稱:
- 單一職責原則(Single responsibility):確保類只負責一件事。
- 開閉原則(Open-closed):在不更改現有程式碼的情況下,可以擴展一個類的功能。
- 里氏替換原則(Liskov substitution):子類可以替代基類,而不影響程式的正確性。
- 介面隔離原則(Interface segregation):讓介面(interface)盡可能簡單,確保實作類只需要實作其所需的介面方法。
- 依賴倒置原則(Dependency inversion):高層模組不應依賴於低層模組,兩者都應依賴於抽象。具體實現應依賴於抽象,而不是抽象依賴於具體實現。
這些原則可以讓你的程式設計更具彈性和可維護性,但在不確定是否要使用它們時,請記住KISS(Keep It Simple, Stupid
)原則,不要強迫將其應用於程式碼中。
這本電子書也介紹了以下常用在遊戲開發中的設計模式
- 工廠模式(Factory pattern):把生成物件的邏輯封裝起來,讓一個特別的物件(
工廠Factory
)去建立其他物件(產品Product
)。 - 物件池模式(Object Pool pattern):預先建立一組物件並存放在池中,重用這些物件以減少資源浪費。
- 單例模式(Singleton pattern):確保一個特別的類只有
一個
並可全局訪問
的實體。 - 命令模式(Command Pattern):將一系列特定動作封裝為命令物件(
Command object
),讓這些命令可以撤銷(undo
)或是重做(redo
) - 狀態模式(State Pattern):讓物件的行為隨內部狀態改變而改變。
- 觀察者模式(Observer pattern):當一個物件的狀態改變時,會自動通知所有想要接收此訊息的物件。
- MVP模式(Model-View-Presenter):MVP模式是使用者介面設計模式的一種,它是MVC模式的一種衍生模式,在此模式中,
Presenter
充當了Model
和View
之間的橋樑。由Presenter
在View
與Model
之間雙向通信,但View
與Model
不通信 - MVVM模式(Model-View-ViewModel):MVVM模式是使用者介面設計模式的一種,它是MVC模式的一種衍生模式,它透過觀察者模式(Observer pattern)將
View
與ViewModel
連接在一起, 在ViewModel
中進行資料綁定(data binding
)。當View Model
的狀態改變時自動通知View
。