Unity C# | Design Pattern

更新於 發佈於 閱讀時間約 4 分鐘

一、前言

  這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。

二、設計模式

  在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。

1. 解決一再出現的問題

  許多程式設計的問題都是類似的問題,例如場景切換與武器切換,這兩個雖然在做不同的事情,但都可以同時使用一個叫做狀態模式的設計模式,因為它們的解題思路是相同的概念。

  當程式設計的問題一再出現以後,這皆問題就會有一種慣用的解法或通用的道理,而我們也可以反推回去,學習一些常常使用的解法再進行修改,讓它可以解決多種不同的問題。

2. 解決問題的方案及核心關鍵

  設計模式並不是解決某個特定的問題,而是某些通用的概念,也因此這會是一個相當抽象的知識,因此學習的時候搭配某些固定的問題,或是某些範例,對於學習設計模式會是有幫助的做法。

  在設計模式中,這些拿來做為範例與教學的模式,都是精簡到不能再精簡的內容,依據不同的問題要增加不同的程式來進行搭配,它們是用於解決問題的核心架構。

3. 可以重複使用的解決方案

  這些設計模式能套用到不同專案上面,除非運用設計模式後,又添加了許多寫死的程式,否則大多數的程式腳本在細心維護的情況下,是可以移動到其他專案使用。

  其實不管有沒有學習物件導向的設計思路,在撰寫程式的過程中,或多或少都會使用到一些設計模式,因為事先有問題才出現解決通則,而當你解決問題的時候,也自然會接近大家常用的解題方法。

三、學習前提

  這篇文章除了介紹設計模式以外,還會講述一些學習這份知識的前提,像我目前只是勉強達成能閱讀的門檻,但熟悉設計模式的過程中依然會有很多新的問題產生。

1. 撰寫過完整的程式

  首先,當然是已經有寫過程式的經驗,這個經驗多寡會決定學習設計模式的速度,對大多數的大學生而言,例如遊戲設計,只要有經手兩到三個遊戲專案程式,那就可以試著去了解設計模式。

2. 熟悉UML類圖

  在大多數的設計模式教學中,無論是書本還是網路上的資源,都會搭配UML圖來進行介紹,這是因為UML圖是用來講述程式架構的一種可視化程式設計的製圖技術,非常適合用來講述設計模式。

  這也是一個大型專案常使用到的技術,甚至會獨立出一個專門職業來繪製UML圖的設計,給予其他程式員空間,花費更多時間開發產品與專研程式技術。

3. 熟悉介面、抽象類別、虛擬

  這是一個隱性的必要內容,因為設計模式牽涉到解決問題的解法,屬於較為高階的程式設計內容,學習設計模式可能需要了解介面(interface)、抽象類別(abstract)、虛擬(Vitrual)這幾個抽象的概念。

  這些抽象概念在學習設計模式的過程中會頻繁看到,並且作為眾多設計模式運作的基礎,有不少設計模式的核心概念其實就是這幾個抽象概念的應用,並且針對特定的問題而已。

四、後記

  這篇文章只是作為一個介紹,我不太確定自己是否能學習好設計模式,而且目前沒有太必要的需求,更多的是模仿網路上的學習資源即可,因此未來不一定會撰寫太多設計模式的東西。

留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
114會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
這篇文章將會分享一場討論程式發展階段的體悟。
Thumbnail
這篇文章將會分享一場討論程式發展階段的體悟。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述企劃撰寫給程式員的邏輯流程圖。
Thumbnail
這篇文章將會講述企劃撰寫給程式員的邏輯流程圖。
Thumbnail
小心設計模式別亂用 📷 介紹 設計模式就是過去的人,根據常見的軟體設計的問題,提出的解決方案。 設計模式總共有23種,根據情境分成三大類型,建立型、結構型、行為型。 建立型模式(Creational Patterns) 簡單工廠(Simple Factory) 工廠方法(Factory) 抽象工廠
Thumbnail
小心設計模式別亂用 📷 介紹 設計模式就是過去的人,根據常見的軟體設計的問題,提出的解決方案。 設計模式總共有23種,根據情境分成三大類型,建立型、結構型、行為型。 建立型模式(Creational Patterns) 簡單工廠(Simple Factory) 工廠方法(Factory) 抽象工廠
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
介紹 在過去的歷史裡開發程式都是以呼叫Function的方式來做程式開發,後來才有了物件導向設計的概念,而物件導向程式設計的概念就是,使用【物件】的方式來設計程式。 Q: 什麼是【物件】? A:【物件】會包含以下這四個特性: 抽象(Abstraction) 封裝(Encapsulation)
Thumbnail
物件導向的概念,以python程式為範例。
Thumbnail
物件導向的概念,以python程式為範例。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News