設計模式精解 第四章 乙個標準物件導向解決方案

2021-04-01 04:30:48 字數 541 閱讀 6890

在這一章,作者給出了乙個基於物件導向的解決方案,我們來看看這個方案,並分析下這個方案的優缺點在**.

作者需要解決的問題是,構造乙個資訊提取系統,這個系統對使用它的物件是一致的,就是說,客戶物件不需要關心具體的cad/cam系統.在思考的過程中,作者很自然的乙個思路是,先解決乙個特定的例子,然後推而廣之.具體的說就是先搞定溝槽的問題,那麼同樣的解決辦法就可以應用到方塊,孔等其他的部件.

按照這個思路,作者先解決slot的問題.很容易的.他建立乙個slot類,然後使用v1系統的時候建立slot類的乙個派生類,使用v2系統的時候建立另外乙個派生類.然後,把這個方法推廣到每個部件型別上,這樣就完成了作者的解決方案.

那麼是什麼思路,或者說是方法導致這種設計呢?原因就是對細節的過早關注!!!!,人總是懶的,處理細節相對容易,細節上的解決方案通常也很明顯.在作者的設計裡面,為每個東西建立特定的情況,這種方式的缺點就是新的情況出現時,必須同樣的實現它們,維護難了.而且這種方法導致高冗餘度,低內聚,已經類**.同時也導致了對繼承的過分依賴.直接後果就是高維護代價.

作者最後提到相信自己的直覺,這需要經驗的積累.

js 設計模式 第四章

繼承 why?多個類公用的功能,如果重複拷貝,一方面,工作量大,另一方面,如果公用功能需要修改,則需要修改所有類中的這個功能,重複工作量大。為了減少複製以及帶來的不利於修改的問題,我們需要繼承 how?三種方法 classical inheritance prototypal inheritance...

HeadFirst設計模式總結 第四章工廠模式

讀後總結 主要參考p160 p161 1.依賴倒置原則 p142 抽象化的思想設計,面向介面程式設計,面向擴充套件而不是面向修改。變數不可以持有具體類的引用 基類使用new,即持有具體類的引用,使用工廠方法將new具體類部分下放到子類中,即行如。new nypizzastore 不要讓類派生自具體類...

第四章 面向過程的軟體設計方法

軟體設計的概念與原則 將軟體劃分為若干獨立成分的依據 怎樣表示不同的成分內的功能細節和資料結構 怎樣統一衡量軟體設計的技術質量 軟體設計過程 制定規範 軟體系統結構的總體設計 處理方式設計 資料結構設計 可靠性設計 編寫概要設計階段的文件 概要設計評審 軟體設計基礎 自頂向下,逐步細化 軟體結構 程...