設計模式-工廠模式
wordsCount: 297
readingTime: 1 min
viewers:
Factory -工廠模式
分類
建立模式-Creational Patterns
主要角色
Product (產品介面)、Concrete Product (具體產品)、Factory (工廠介面)、Concrete Factory (具體工廠)
目的
將物件的「實例化」延遲到子類,讓使用者不需要知道具體物件是如何被建立的。
如何互動
使用者透過 Factory 介面要求產品,由 Concrete Factory 負責根據邏輯 new 出對應的 Concrete Product 並回傳,實現解耦。
GitHub練習
https://github.com/hanksky12/DesignPatterns/blob/main/internal/factory/factory.go
實務上
解決server後端回傳前端時,因為單一遊戲下子分類過多,回傳的json結構不統一,若偷懶統一欄位格式處理,大多時候payload都會記錄無效資訊, 所以如何根據子分類,客製化用不同的初始化方式拿到物件,做後續使用,這時用工廠模式做封裝就隱藏其複雜性
Table of Contents
Related Posts
設計模式-策略模式
Strategy-策略模式 分類 行為模式-Behavioral Patterns 主要角色 Strategy (策略介面)、Concret
2026-4-12
設計模式-備忘錄模式
Memento-備忘錄模式 分類 行為模式-Behavioral Patterns 主要角色 Originator、Meme
2023-6-17
設計模式-樣板模式
Template Method-樣板模式 分類 行為模式-Behavioral Patterns 主要角色 Abstract Class、Concrete C
2023-6-17
MySQL和PostgreSQL交易快照比較
此篇討論Mysql和PostgreSQL的快照機制 MVCC (Multi-Version Concurrency Control) 多版本併發控制,核心在於使用版本來代替鎖來
2026-4-12
Mysql 的 Repeatable Read & 幻讀
此篇討論Mysql RR下,預設解決了哪些幻讀,哪些沒解決?如何處理剩下的幻讀問題 定義 快照讀 : select 當前讀
2026-4-12
Sponsor
Wechat
Alipay