設計模式實作系列(十五):Observer 觀察者模式 - 發布訂閱機制實現物件鬆耦合聯動
模式意圖 定義物件間的一種一對多依賴關係,當一個物件狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。 UML 結構圖 核心解析 Subje
設計模式實作系列(十六):Strategy 策略模式 - 封裝演算法族實現執行期動態切換
模式意圖 定義一系列演算法,將每一個封裝起來,並使它們可相互替換。本模式使得演算法可獨立於使用它的客戶而變化。 核心解析:一句話總結 Strategy 模式就
設計模式實作系列(十七):State 狀態模式 - 將狀態相關行為封裝為獨立類別
模式意圖 允許一個物件在其內部狀態改變時改變它的行為。物件看起來好像修改了它的類別。 UML 結構圖 核心解析:替換龐大的 switch-case 傳統做
設計模式實作系列(十八):Iterator 迭代器模式 - 統一遍歷介面隔離演算法與容器
模式意圖 提供一種方法順序訪問一個聚合物件中各個元素,而又不需暴露該物件的內部表示。 UML 結構圖 核心解析:STL 的基石 Iterator 是多數
設計模式實作系列(十九):Memento 備忘錄模式 - 安全捕獲與恢復物件狀態
模式意圖 在不破壞封裝性的前提下,捕獲一個物件的內部狀態,並在該物件之外保存這個狀態,以便日後將該物件恢復到原先保存的狀態。 UML 結構圖 核心解析:窄
設計模式實作系列(二十):Visitor 訪問者模式 - 雙重分派實現操作與結構分離
模式意圖 表示一個作用於某對象結構中各元素的操作。它使你可以在不改變各元素類別的前提下,定義作用於這些元素的新操作。 UML 結構圖 核心解析 雙重
設計模式學習心得與實戰總結:從入門到精通的 21 篇完結感言
前言:一個月、20 個模式、無數次重構 花費一個月時間,將 GoF 經典 23 個設計模式中的 20 個逐一以 C++ 實作,收穫遠超預期。過程中深刻體會到:「
利用 C++ Builder 實作電腦開機日誌記錄器
前言 公用機房或辦公室的電腦通常由多人共享,身為管理者或主要使用者,往往希望掌握機器何時被開啟使用。若能建立一份開機記錄,即可隨時透過登錄編輯器查看使用情況。本
C++Builder 存取 VFP 資料庫兩大方案:自由表直連 vs ODBC 連結
Visual FoxPro (VFP) 資料庫有自由表與資料庫容器 (DBC)兩種形式。C++Builder 提供原生 TTable 直連自由表與 TDatab
C++Builder 登錄檔操作:遞迴列舉子鍵與值的完整範例
Windows 登錄檔是階層式鍵值儲存,C++Builder 提供 TRegistry 類別封裝 Win32 Registry API。本文示範如何開啟指定根鍵
MSComm 控制項完整指南:C++Builder 串口通訊的事件驅動與輪詢兩種模式
MSComm (Microsoft Communications Control) 是 ActiveX 控制項,封裝 Windows 串口 API,提供 Vis
C++ 正則表達式庫大比拼:ATL CAtlRegExp、GRETA、Boost.Regex 功能與效能評測
C++ 標準庫直到 C++11 才納入 <regex>,在此之前開發者依賴第三方庫。本文對比三大經典庫:**ATL CAtlRegExp**(輕量、
C/C++ 巨集進階妙用:條件編譯、函式攔截、自動化資料交換與除錯追蹤
巨集常被視為「必要之惡」,但善用其**編譯期展開、Token Pasting、Stringizing、條件編譯**特性,能解決函式無法做到的編譯期資訊保留、零成
Effective STL 條款 31:理解你的排序選項——從全排序到分區的完整指南
STL 提供六大排序相關演算法,各有適用場景與效能特性。本文依照《Effective STL》條款 31 脈絡,系統比較 sort、stable_sort、pa
C/C++ 動態連結庫 (DLL) 建立與呼叫全攻略:隱式連結 vs 顯式連結
DLL 實現代碼複用、模組化部署與熱更新。本文以 Visual Studio 為例,完整示範非 MFC DLL 的建立、.def 匯出檔用法、隱式連結(靜態載入
C++ 異常處理完整指南:語法、機制、RAII、建構子/解構子陷阱與最佳實踐
異常是 C++ 標準化的錯誤處理機制,解決了返回值可被忽略、errno 執行緒不安全、setjmp/longjmp 不呼叫解構子等歷史痛點。本文系統涵蓋語法規則
C++ 物件記憶體佈局揭秘:單一繼承、多重繼承與虛函數表指標實測
C++ 標準僅規定「非靜態成員依宣告順序配置」,具體佈局由編譯器決定(ABI)。本文以 MSVC 6.0 為例,透過取址輸出與 Placement New 實驗