C# 插件式程式開發:架構設計與動態載入實戰
什麼是插件式架構? 插件式架構將軟體分為平台(主程式)與插件(功能模組)兩部分: 平台:預先編譯完成,定義插件介面(Contract),負責發現、載入、管理插
《模式——工程化實現及擴展》工廠方法模式 Factory Method 支援帶參數建構函數擴展
問題背景 原有 Factory<T> 僅支援無參數建構函數。需在不修改原類別(遵循 OCP)前提下,擴展支援帶參數建構函數。 設計方案 繼承現有
《模式——工程化實現及擴展》訪問者模式 Visitor 實現 HR 系統多維度薪資福利計算
題目需求分析 人員類型(3 大類 4 小類): 員工:普通員工、經理 臨時員工 外聘專家 管理內容(3 大類 8 小類,持續擴展): 薪資:底薪、工齡工資
《模式——工程化實現及擴展》備忘錄模式 Memento 與責任鏈模式整合實作
練習一:備忘錄介面設計 定義支援多種儲存/恢復策略的發起人介面: interface IOriginator where T : IState { /
《模式——工程化實現及擴展》橋接模式 Bridge 設計與配置文件結構、團隊分工依賴關係
練習一:依賴關係配置文件設計 題目給定抽象介面依賴圖(IA、IB、IC、ID 平級正交;IE 為 IA 子抽象;IF、IG 為 IC 子抽象,IC:IG=1:N
《模式——工程化實現及擴展》模板方法模式 Template Method 設計與自我檢驗參考答案
練習一:通脹率計算器 題目:不同指標(GDP、CPI、PPI)計算通脹率,指標取值不同但算法結構固定:(本年指標 - 去年指標) / 去年指標。 模板基類
《模式——工程化實現及擴展》適配器模式 Adapter 設計與消息平台原型實作
情境描述 MarvellousWorks 公司提供後台接入服務,支援多種佇列產品(MSMQ、IBM MQ、Oracle AQ、BEA MessageQ)與多種資
《模式——工程化實現及擴展》流暢介面 Fluent Interface 設計與自我檢驗參考答案
題目需求回顧 設計一個產生 XML 表格的程式,結構定義: <table> <name>表格名稱</name> &l
C# 使用 unsafe 與指標優化圖像像素處理性能
背景動機 在為豆瓣電台開發換膚功能時,需遍歷圖片每個像素計算平均亮度,以決定文字顏色(深色圖→白字,淺色圖→黑字)。對於大圖片,純 C# 安全代碼的雙重迴圈會有
C# 多線程學習(六):Mutex 互斥體跨進程同步與進階等待模式
Mutex 與 lock 的關鍵差異 特性lock (Monitor)Mutex 作用範圍進程內跨進程(命名 Mutex) 效能極高(用戶態優化)較低(
C# 多線程學習(五):Timer 定時器實現週期性任務排程
System.Threading.Timer 概覽 Timer 提供無需建立專用線程即可週期性執行回調的機制。啟動後,CLR 從線程池取用線程執行回調,適合:
C# 多線程學習(四):線程池 ThreadPool 自動管理實戰
為什麼需要線程頻繁建立銷毀的開銷 頻繁 new Thread() 會導致: 記憶體分配/回收壓力(每線程 1 MB 堆疊)。 上下文切換成本隨線程數增長而劇增
C# 多線程學習(三):線程同步與生產者消費者模式實戰
共享資源的競態條件 多線程共享同一進程的代碼區與堆積資料。當多線程同時讀寫共享變數,若無同步機制,會發生競態條件,導致資料損壞、邏輯錯誤。 lock 關鍵字:
C# 多線程學習(二):線程建立、啟動、終止與狀態控制全解析
建立與啟動線程 在 C# 中,線程的入口點由 ThreadStart 委托指定,指向無參數、無返回值的方法。建立線程實例後,呼叫 Start() 即可排程執行。
C# 多線程學習(一):多線程核心概念解析
前言 本系列文章將帶領讀者深入探討 C# 多線程程式設計的核心概念與實戰技巧。系列規劃共六篇,涵蓋從基礎概念到線程池、定時器、互斥對象等進階主題: C# 多線
C# 範例教學:使用委派實現子視窗向父視窗回傳值
情境 WinForm 中,父視窗開啟子視窗,子視窗關閉時需將資料回傳給父視窗。委派是經典解法(現代亦可用 event、TaskCompletionSource、
C# 範例教學:var 隱含型別區域變數完整指南
var 基本規則 僅限區域變數(方法內、Lambda 參數、using/foreach/lock 區塊)。 必須初始化,編譯器從初始運算式推斷型別。 初始化運
詳解 C# 數學類別 Math 與浮點數細節(下):重複內容整理與補充
說明 原文章內容與「中」篇高度重複,此處整理補充遺漏細節: Double 結構體同樣提供判斷方法 double.IsInfinity(d) double.I