Unity 話大 設計模式之抽象工廠

2021-09-29 19:07:42 字數 2207 閱讀 3703

前言:筆者在最開始寫程式的時候經常會遇到一種情況,例如更改乙個字段、或者新增一種小功能,就要把原來寫過的東西幾乎廢棄掉,或者更改大量以前寫過的**。又或者自己寫的東西時間久了再去回顧,完全找不到到時為什麼這麼寫的頭緒,如果遇到了bug更是無法快速定位在**小範圍出現的問題。如果你也經常遇到這種問題,就說明你現階段非常需要學習下設計模式了

在網上經常說的設計模式有23種,也有一些更多的設計模式,無非也是從這些設計模式中變種而來。如果讓筆者來形容什麼是設計模式,我認為設計模式是:一種思想,一種模式,一種套路,一種解決問題的高效策略

舉個生活中的列子:你需要從家去公園,雖然都是從a點到b點,但目的是著急取東西,你會用代步工具快速到達,但如果僅僅是打發時間,完全可以散步去。用代步工具和散步本身沒有絕對的對錯,只是根據當時的需求採取的策略。設計模式這種思想,就是根據你當時的需求給你提供最高效的策略。

今天筆者為大家介紹工廠三姐妹中的最後一種------【抽象工廠】
在這之前,先給大家介紹乙個概念,產品簇,她是這樣定義的:產品簇(product family)指具有相同或相似的功能結構或效能,共享主要的產品特徵、元件或子結構,並通過變型配置來滿足特定市場的一組產品的聚類。

這麼說大家可能不是很好理解,那麼舉個栗子,如下圖

看下圖~~~

介面及產品

抽象基類類工廠及實現工廠

}

使用方式如下

public void testabstractfactory()

抽象工廠最大的好處就是可以批量生產不同產品的替換和組合

當然,有優點也就有缺點

抽象工廠模式,(abstract factory),提供乙個建立一系列相關或相互依賴物件的介面,而無需指定他們具體的類。

所以說,工廠三姐妹簡單工廠、工廠方法和抽象工廠用哪個更適合你現在的專案需求,這就仁者見仁智者見智了~~~

Unity 話大 設計模式之迭代器模式

前言 筆者在最開始寫程式的時候經常會遇到一種情況,例如更改乙個字段 或者新增一種小功能,就要把原來寫過的東西幾乎廢棄掉,或者更改大量以前寫過的 又或者自己寫的東西時間久了再去回顧,完全找不到到時為什麼這麼寫的頭緒,如果遇到了bug更是無法快速定位在 小範圍出現的問題。如果你也經常遇到這種問題,就說明...

Unity 話大 設計模式之工廠方法

前言 筆者在最開始寫程式的時候經常會遇到一種情況,例如更改乙個字段 或者新增一種小功能,就要把原來寫過的東西幾乎廢棄掉,或者更改大量以前寫過的 又或者自己寫的東西時間久了再去回顧,完全找不到到時為什麼這麼寫的頭緒,如果遇到了bug更是無法快速定位在 小範圍出現的問題。如果你也經常遇到這種問題,就說明...

15 大話設計模式C 實現之抽象工廠模式

例項 不同客戶的資料庫管理採用不同的資料庫完成,不同的資料庫在語法上存在差異,因此需要 解除使用者和具體資料庫之間的耦合 即業務邏輯與資料訪問的解耦 避免向不同型別的客戶提供支援時的 復用 include include using namespace std idepartment介面,用於客戶端...