實戰系列『影像處理軟體設計』- [9] 物件導向方法:設計模型(下)

更新 發佈閱讀 2 分鐘

一、動態模型

動態模型設計一般都是在類別模型設計完成後開始,此階段需要使用類別模型的類別。

動態模型設計不需要應用「設計原則」和「設計模式」,只需對照「使用案例模型」,並根據使用案例的特點,選一個適合的動態模型表述即可。

二、模型分類

參考 UML 標準,常見的動態模型如下:

  • 狀態模型→主要描述物件生命週期的狀態變化。
  • 活動模型→主要用來描述一個工作流程或計算流程。
  • 序列模型→主要用來描述物件按照時間順序組織的訊息互動過程,其關鍵特徵是強調按照「時間順序」組織物件的互動。
  • 協作模型→主要用來描述物件之間的關聯組知的訊息互動過程,其關鍵特徵是強調「物件關係」組織物件的互動。

(1) 建模實踐

基本上動態模型都可以從「使用案例模型」推導出來,但狀態模型會比其他模型複雜一些,因為需要綜合多個使用案例模型,從中提取出和某個物件狀態相關的內容,再統一設計狀態模型。

從使用案例模型推導出動態模型是一個「分解和分配」的過程。

(2) 建模技巧

在實際的專案進行過程中,其實每個子專案或功能,並不會都使用動態模型來描述,這主要是程式設計人員效率方面的考量。

設計動態模型主要是便於思考和理解實作過程;如果專案比較簡單,通常很容易理解,也就沒必要設計動態模型了。

考慮到效率和效果兩個因素,一般只需要針對一些關鍵、核心及複雜的專案或功能,進行動態模型設計即可。

但要注意,千萬不要直接按照動態模型撰寫程式碼,模型不等於虛擬碼、更不等於程式碼,模型的主要目的是指導程式碼的撰寫,但並非程式碼的文字敘述。

三、本章總結

  1. 設計階段將輸出設計模型。
  2. 物件導向設計更像是一門藝術。
  3. 設計模型主要包含兩個部分:靜態模型、動態模型。
  4. 從領域模型可以得到最初的設計類別。
  5. 「設計原則」和「設計模式」可以指導做出更好的物件導向程式設計。
  6. 設計原則主要是指 SOLID 原則。
  7. 設計模式是指 GoF 提出的設計模式。
  8. 根據框架或者規範的要求,拆分輔助類別。
  9. 動態模型主要有 4 種:狀態模型、活動模型、序列模型、協作模型。
  10. 動態建模不需要面面俱到。
  11. 動態建模不等於程式碼。
留言
avatar-img
一個工程師的創業之旅的沙龍
74會員
442內容數
閱讀可以用最低的成本來獲得別人經驗,培養閱讀能力,一生受益。但要記住,別只讓自己的大腦永遠處於「輸入狀態」,要適當地「輸出」自己的想法。透過閱讀輸入,再利用寫作輸出,就像「費曼學習法」說的一樣,教授到別人能夠了解,自己才算是領悟了這門學問。
2023/07/31
物件導向領域經過幾十年的演進,已經發展出很多成熟的指導方針和方法;其中最具代表性的就是「設計原則」和「設計模式」。進行物件導向類別設計,第一個要解決的問題是:類別從哪裡來?領域模型中的「領域類別」,便是設計類別中「軟體類別」最好的來源;透過「領域類別」啟發設計最初的「軟體類別」。
Thumbnail
2023/07/31
物件導向領域經過幾十年的演進,已經發展出很多成熟的指導方針和方法;其中最具代表性的就是「設計原則」和「設計模式」。進行物件導向類別設計,第一個要解決的問題是:類別從哪裡來?領域模型中的「領域類別」,便是設計類別中「軟體類別」最好的來源;透過「領域類別」啟發設計最初的「軟體類別」。
Thumbnail
2023/07/23
什麼是領域模型?領域模型是完成從需求分析到物件導向設計的一座橋樑。需求分析和物件導向並無直接關係,需求分析階段不區分是物件導向還是程序導向,要從「領域建模」才真正開始物件導向的工作。後續我們會使用一個「影像處理軟體」的使用案例來說明如何建立領域模型。
Thumbnail
2023/07/23
什麼是領域模型?領域模型是完成從需求分析到物件導向設計的一座橋樑。需求分析和物件導向並無直接關係,需求分析階段不區分是物件導向還是程序導向,要從「領域建模」才真正開始物件導向的工作。後續我們會使用一個「影像處理軟體」的使用案例來說明如何建立領域模型。
Thumbnail
2023/07/09
使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How。有很多方法可以分析客戶需求,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍;但最有效以及最直接的方法還是和客戶交流。只要掌握正確的方法,就可以完成良好的需求分析。
Thumbnail
2023/07/09
使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How。有很多方法可以分析客戶需求,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍;但最有效以及最直接的方法還是和客戶交流。只要掌握正確的方法,就可以完成良好的需求分析。
Thumbnail
看更多
你可能也想看
Thumbnail
小心設計模式別亂用 📷 介紹 設計模式就是過去的人,根據常見的軟體設計的問題,提出的解決方案。 設計模式總共有23種,根據情境分成三大類型,建立型、結構型、行為型。 建立型模式(Creational Patterns) 簡單工廠(Simple Factory) 工廠方法(Factory) 抽象工廠
Thumbnail
小心設計模式別亂用 📷 介紹 設計模式就是過去的人,根據常見的軟體設計的問題,提出的解決方案。 設計模式總共有23種,根據情境分成三大類型,建立型、結構型、行為型。 建立型模式(Creational Patterns) 簡單工廠(Simple Factory) 工廠方法(Factory) 抽象工廠
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
分類原則請參照這篇 狹義來說,我們把建模視為幾何建模的簡寫,但是廣義來說他應該是會包含發熱體行為,風扇行為,所有會影響到各方程式架設的因子。也就是說如果我們今天以最基本熱流模型,那就會有流的建模和熱的建模。 雖然說是流體建模,但是實際上卻是畫固體邊界,然後不屬於固體的部分通通是流體。一般概
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
這篇文章將會講述設計模式中的狀態模式,其資料源自於書籍、網路、個人理解,從簡介→架構→撰寫→測試的整個流程進行介紹與分享。
Thumbnail
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
Thumbnail
這邊要來跟大家分享流程圖是什麼?它很重要嗎? 一、什麼是流程圖?   它可以幫我們簡化密密麻麻的程式,用圖表來說明這支程式運行的來龍去脈,包含著流程的步驟、決策、輸出/輸入的相關過程。   當我們在製作程式過程中,可以協助我們紀錄、規劃流程、甚至是介紹程式或未來自己要看的時候,流程圖就可以派上用場
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
一、前言   這篇文章將會簡單介紹物件導向的設計模式,以及學習這項技術需要有哪些先備知識,學習才會比較順利。 二、設計模式   在物件導向中,除了最基本的五大原則以外,其實還有一知名的概念,那就是設計模式(Design Pattern),它能運用到很多層面。 1. 解決一再出現的問題   許多程式設
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
在軟體開發領域,MVC(Model-View-Controller)是一種被廣泛使用的設計模式,它有助於將應用程序的不同部分進行組織、分離,以實現更好的可維護性和可擴展性。本文將深入介紹MVC模式的核心概念,以及如何在您的項目中應用這種強大的架構。
Thumbnail
在軟體開發領域,MVC(Model-View-Controller)是一種被廣泛使用的設計模式,它有助於將應用程序的不同部分進行組織、分離,以實現更好的可維護性和可擴展性。本文將深入介紹MVC模式的核心概念,以及如何在您的項目中應用這種強大的架構。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
Thumbnail
這篇文章將會講述類圖的基本介紹,並且詳細敘述從零開始製作完整的類圖流程。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News