C# 條件編譯完整指南:#define、#if/#elif/#else/#endif、#error/#warning 實戰
前置處理器與條件編譯 C# 無獨立前置處理器,指令作為詞法分析階段執行。所有指令以 # 開頭,必須獨佔一行 (前可有空白)。 符號定義與取消 #define
C# 整數溢位處理:checked/unchecked 關鍵字、編譯器選項與最佳實踐
溢位問題本質 定長整數型別 (byte, short, int, long 等) 有固定值域。運算結果超出範圍即發生溢位。 byte b = 255; b =
C# 例外觸發條件:throw 語句與執行時例外條件完整分類
兩大觸發來源 來源機制範例 程式碼主動拋出throw 陳述式throw new ArgumentNullException(nameof(s)); 執行時條件
C# 例外處理實戰:try-catch-finally 結構、例外篩選與資源清理模式
throw 陳述式兩種形式 // 1. 拋出新例外 throw new ArgumentException(參數無效, nameof(param)); //
C# 例外處理機制深度解析:與 C++ 差異、例外傳播與 finally 語意
C# vs C++ 例外處理核心差異 特性C#C++ 例外型別所有例外皆為 System.Exception 衍生類別任意型別皆可拋出 (int, char*
C# 流程控制完整指南:選擇、迴圈、跳轉、條件編譯與例外處理
流程控制關鍵字總覽 類別關鍵字用途 選擇if, else, switch, case條件分支 迴圈while, do, for, foreach重複執行 跳轉
物件導向技術起源:從軟體危機到 OOP 範式轉移
軟體危機:硬體飛躍與軟體滯後的鋸齒差 1960s-70s,摩爾定律驅動硬體指數級增長,但軟體開發仍停留在「手工作坊」階段: 進度失控、預算超支、品質低落 交付
面向物件核心四概念:物件、類別、繼承、通訊與 C# 實現機制
面向物件 = 物件 + 類別 + 繼承 + 通訊 若軟體系統使用這四個概念設計實現,即為面向物件系統。 物件 基本構成單元,由一組屬性 (狀態) + 一組操
物件模型建構指南:類別識別、資料字典、繼承簡化、存取路徑測試與模組劃分
物件模型核心定位 描述系統靜態結構:類別/物件、屬性、操作、關係。目的在找出與應用程式密切相關的概念。 OMT 物件模型建構 5 步驟 步驟 1:確定物件類
動態模型核心解析:狀態圖、事件追蹤圖、場景識別與一致性檢驗
動態模型核心定位 著重控制邏輯,考察物件狀態隨時間變化的序列,描述「何時做」以及「在什麼條件下做」。 兩大核心圖表 圖表焦點適用對象關鍵元素 狀態圖單一類
功能模型深度解析:資料流圖分層分解、功能依賴與優化準則
功能模型核心定位 著重系統內部資料傳遞與處理,定義「輸入經運算轉換為輸出」的映射關係,不考慮執行時序 (時序屬動態模型)。 資料流圖 (DFD) 核心元素
物件模型技術 (OMT) 核心三模型:物件/動態/功能模型與系統完整描述
OMT 起源與定位 由美國通用電氣 (GE) 研究中心提出 (Rumbaugh 等)。 以面向物件思想為基礎,透過抽象構造三個相關模型,全面捕捉問題空間資訊。
論域分析與應用分析:雙軌並行、知識庫建立、需求篩選與模型識別需求
雙階段分析架構 階段論域分析應用分析 目標建立論域知識庫、理解業務本質將論域知識映射至具體應用需求 範圍廣泛、超出當前應用受用戶需求限制、縮減資訊量 參與者
Coad-Yourdon 面向物件分析流程詳解:五層次 15 步驟與類別/結構/屬性/服務/主題識別指南
方法論定位 Coad-Yourdon 方法建立在資訊模型化、面向物件程式設計、知識庫系統基礎上,分為 OOA (分析) 與 OOD (設計) 兩階段。分析階段輸
面向物件分析 (OOA) 核心流程:論域/應用分析、Coad-Yourdon 五層次與概念模型建構
OOA 定位與產出 階段焦點核心任務產出 面向物件分析 (OOA)問題論域形式化說明應用問題、識別物件協作概念模型:類別、關係、屬性、操作、主題 傳統系統分
面向物件高層設計與低層設計:架構視圖、子系統劃分、類別詳細設計與復用原則
高層設計 (架構設計) 核心目標 建立系統整體結構模型:子系統、模組、層次、介面、資料流、部署拓撲。 識別在具體運算環境下解決問題所需的技術概念:資料庫、訊息
Coad-Yourdon 面向物件設計流程詳解:問題論域、使用者介面、任務管理與資料管理四大組成
設計階段沿用分析五層次 Coad-Yourdon 方法在設計階段繼續採用分析階段的五個層次:類別與物件、結構、屬性、服務、主題,確保分析到設計的平滑過渡。 問
面向物件設計方法論:從分析到設計的模型擴充、高層/低層設計與 Coad-Yourdon 流程
分析 vs 設計:核心差異 階段焦點核心問題產出 面向物件分析 (OOA)問題論域「做什麼」(What)概念模型:類別、關係、屬性、操作 面向物件設計 (O