設計模式的學習1

2021-09-30 02:11:14 字數 611 閱讀 9352

看了設計模式,到現在也該是處出貨時候了。

首先必須明確設計模式的位置,它是在需求分析(use case)後,系統分析結束之後,設計時進行的。往往設計模式會帶來乙個問題:過度設計。因為設計模式要求增加類。同時我們看到他也不是萬靈藥,他受前期需求以及系統分析的影響。

關鍵有以下幾點原則:

1。乙個類最好只有乙個職責。前兩天看到網上乙個人員考勤設計,企圖把職員作類,包含職員資訊和考勤資訊,然後大訴其苦:他的考勤資訊是檔案,不是資料庫,這樣系統以起來,即使他不需要考勤資訊,也必須讀取檔案,由於檔案很大,系統因此很慢。後來有人出主意:分成兩個類:考勤是考勤,職員是職員,還有個考勤list容器類。這樣就比較好的解決了問題。

2.多用組合,少用繼承。所謂採用繼承關係,把變化反映在子類上,而組合則是採用模組方式。很明顯:如果採用繼承,父類發生變化,最易受影響的是子類。由此可見採用組合比採用繼承父類與子類間耦合性更強。

3.把變化封裝在乙個類裡面。這是我個人看法。所謂把變化封裝在類裡面,就是如前面所說,每個類最好只有乙個職責,那麼對於需求可能變化部分,我們最好用某個類封裝起來。由此可見,需求會影響模式的建立,可以說會影響整個系統模型。當然這也是所謂的減少系統耦合性,加強系統內聚性的一種體現。

這是所有設計模式遵守的基本原則。

設計模式學習1

以前寫程式,不太關注程式結構的設計,只是考慮著怎麼去實現功能,憑感覺去規劃。沒有把程式設計的方法上公升到乙個理論的高度上來,最近接觸了下設計模式,發現以前也用到了一些模式,但是卻沒有在意,仔細想想,使用模式去系統化的進行設計,好處很多。正如打仗,對戰術進行研究,上公升到乙個理論的高度上來,就是軍事理...

設計模式 學習 1

設計原則 1 單一職責原則 物件導向程式設計。2 開閉原則 可以擴充套件,不要修改原來的 3 黎克特制代換原則 引用父類的地方可以使用 子類替代。4 依賴倒轉原則 盡量在引數 返回值,引用等地方,使用介面和抽象類。5 介面隔離原則 每個介面應該承擔自己的責任,不要混在一起。6 合成復用原則 盡量使用...

設計模式學習1

閱讀書籍 大話設計模式 程杰 第15章 就不能換db嗎?問 實現不同db之間的操作 答 用反射 抽象工廠 配置檔案 什麼是反射?reflection,中文翻譯為反射。這是.net中獲取執行時型別資訊的方式,net的應用程式由幾個部分 程式集 assembly 模組 module 型別 class 組...