首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

面向物件設計方法論:從分析到設計的模型擴充、高層/低層設計與 Coad-Yourdon 流程

     編輯:關於C#

分析 vs 設計:核心差異

階段焦點核心問題產出
面向物件分析 (OOA)問題論域「做什麼」(What)概念模型:類別、關係、屬性、操作
面向物件設計 (OOD)解決方案/電腦實作「怎麼做」(How)設計模型:具體類別、演算法、資料結構、介面規格

高層設計 vs 低層設計

層次目標關鍵活動產出
高層設計 (架構設計)系統整體結構子系統劃分、介面定義、通訊協議、部署拓撲、技術選型架構視圖、子系統規格、介面契約
低層設計 (詳細設計)單一類別/模組內部演算法設計、資料結構選擇、封裝邊界、錯誤處理、效能優化類別圖、序列圖、狀態圖、程式碼骨架

高層設計核心原則

  • 最小化子系統通訊:高內聚低耦合,相關類別邏輯分組。
  • 介面隔離:定義窄介面,減少依賴傳播。
  • 依賴倒置:高層模組不依賴低層模組,雙方依賴抽象。
  • 架構風格選擇:分層、微服務、事件驅動、CQRS、六角形架構等。

低層設計核心原則

  • 單一職責 (SRP):一個類別只有一個變更理由。
  • 開放封閉 (OCP):對擴充開放,對修改關閉 (介面/抽象/策略模式)。
  • 里氏替換 (LSP):衍生類別必須能替換基類別不破壞正確性。
  • 介面隔離 (ISP):客戶不應依賴不需要的介面。
  • 依賴反轉 (DIP):依賴抽象而非具體。
  • 資訊隱藏:最小化公開介面,封裝變化點。
  • 復用既有類別:組合優於繼承,善用設計模式。

Coad-Yourdon 面向物件設計流程 (四大組成)

組成核心任務關鍵產出
問題論域細化分析模型、復用設計、一般化類別、繼承層級調整、效能優化、加入低層構件領域模型、設計模式應用、框架類別
使用者介面使用者分類、任務腳本、命令層、詳細交互、原型擴充、HIC 類別、GUI 設計UI 原型、互動流程、視圖模型
任務管理識別事件/時鐘驅動任務、優先級/關鍵任務、協調者、任務評審、任務定義 (同步/通訊)任務架構、併發模型、同步機制
資料管理儲存方式選擇 (檔案/關聯式/物件資料庫)、持久化操作設計 (屬性/方法)資料存取層 (DAL)、ORM 映射、快取策略

從分析到設計的模型轉換

  1. 分析模型:概念類別、業務關係、本質屬性/操作。
  2. 設計模型:增加技術類別 (Controller、Repository、DTO、ViewModel)、具體演算法、資料結構、異常處理、交易邊界、安全性、記錄、快取。
  3. 對應關係:1 分析類別 → 1..N 設計類別 (如拆分 Entity/DTO/Validator)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved