《設計模式解析》第二部分 傳統物件導向設計的侷限性

2021-03-31 08:56:30 字數 728 閱讀 3077

在這一部分,我使用標準物件導向方法解決乙個真實世界中的問題。這是我在剛開始學習設計模式時所鑽研的乙個問題。

討論的主題

3

l描述

cad/cam

問題:從乙個大型計算機輔助設計

/計算機輔助製造(

cad/cam

)資料庫析取資訊去侍服乙個複雜昂貴的分析程式。

l因為

cad/cam

系統持續演化,這個問題迫切需要靈活的**。 4

l

我對cad/cam

問題的第乙個解決方案,使用標準的物件導向方法。

l在實際研究這個問題的時候,我還沒有領悟眾多設計模式背後的原則的精髓。這導致乙個過分依賴繼承的初始方案。它很容易設計且能夠運作,但卻因一些特殊情況而結束。

l我的方案有重大的問題

——難以維護而且不靈活

——這恰恰是使用物件導向設計想要避免的事情。

l後來,在第四部分,第

12章,「使用模式來解決

cad/cam

問題」,我將重新審視這個問題。我將使用設計模式精心搭建該應用程式的構架以及其實現細節,來解決這個問題。通過這樣做,我創造了乙個更加容易維護的方案,並且靈活的多。

這一部分的閱讀很重要。因為它舉例說明了乙個傳統物件導向設計所導致的問題

——不必要的高繼承層次,高耦合、低內聚。

《設計模式解析》第二部分 傳統物件導向設計的侷限性

在這一部分,我使用標準物件導向方法解決乙個真實世界中的問題。這是我在剛開始學習設計模式時所鑽研的乙個問題。章 討論的主題 3 l描述cad cam 問題 從乙個大型計算機輔助設計 計算機輔助製造 cad cam 資料庫析取資訊去侍服乙個複雜昂貴的分析程式。l因為cad cam 系統持續演化,這個問題...

Web API 第二部分

web api 第二部分 元素偏移量 offset element.offsettop element.offsetleft element.offsetwidth 可以得到元素的大小 寬度和高度 是包含padding border width element.offsetheight elemen...

redux 第二部分

redux 的使用方法,為什麼使用 action.js 檔案,進行優化 將其分開,然後我們通過工廠函式的每次返回不同的物件,由於引數是固定的,每次返回的都是事件型別和事件資料,所以我們可以使用乙個函式,通過其返回值來返回乙個物件,讓後傳遞給 action 我們的 reducer 函式有兩個引數,引數...