C# 的 String 雖然是 Reference Type,卻表現得像 Value Type,原因在於其不可變性(immutability)。本文透過程式碼實驗與 ReferenceEquals 比較,解析 String Interning 與記憶體管理機制,以及為何需要使用 StringBuilder。
深入探討 C# 中 Class 與 Struct 的選擇時機。依據 Microsoft 官方指引,說明在執行個體大小、可變性、Boxing 頻率等條件下,應優先使用 Struct 還是 Class 的決策準則。
深入解析 C# Value Type 與 Reference Type 的五大差異,包含記憶體配置(Stack vs Heap)、陣列效能、Boxing/Unboxing 成本、複製行為與傳遞方式,並列出各自的型別清單,幫助開發者做出正確選擇。
《深入淺出設計模式》虛擬代理模式(Virtual Proxy Pattern)實作心得。以呼叫中央氣象署 Open API 取得天氣資料為例,示範 WeatherProxy 如何在資料載入期間回傳暫時訊息,防止重複請求,附完整 C# 程式碼與 UML。
《深入淺出設計模式》代理人模式(Proxy Pattern)讀書心得。探討遠端代理(Remote Proxy)在多人連線後端資料同步的應用,以及 Java RMI、C# WCF、Android AIDL 等技術如何實現跨程序記憶體同步。
《深入淺出設計模式》狀態模式(State Pattern)讀書心得。探討由 State 自我切換與由 Context 控制切換的優缺點差異,以及狀態模式如何解決多個 if-else 問題,並與策略模式(Strategy Pattern)的邊界比較。
《深入淺出設計模式》組合模式(Composite Pattern)讀書心得。探討 Component、Leaf、Composite 三者的明確職責分工,以及組合模式適合應用在資料搜尋、物件樹狀結構等場景的實際思考。
《深入淺出設計模式》迭代器模式(Iterator Pattern)讀書心得。涵蓋 IEnumerator 與 IEnumerable 的差異、yield return 的延遲執行特性、LINQ 的內外部迭代器、Unity 中 foreach 效能問題的真相,以及 Coroutine 與迭代器的關係。
《深入淺出設計模式》模板模式(Template Method Pattern)讀書心得。說明以 abstract class 定義骨架流程的核心概念、掛勾(Hook)的彈性應用、與策略模式的差異,以及好萊塢守則和依賴反轉原則之間的關係。
《深入淺出設計模式》表象模式(Facade Pattern)讀書心得。說明表象模式的正確使用時機、與封裝成方法的差異對比、迪米特守則的適度應用,以及避免過度設計的實務建議。