設計模式學習1

2021-07-25 15:11:48 字數 655 閱讀 9826

閱讀書籍《大話設計模式-程杰》

第15章 就不能換db嗎?

問:實現不同db之間的操作

答:用反射+抽象工廠+配置檔案

什麼是反射?

reflection,中文翻譯為反射。

這是.net中獲取執行時型別資訊的方式,.net的應用程式由幾個部分:『程式集(assembly)』、『模組(module)』、『型別(class)』組成,而反射提供一種程式設計的方式,讓程式設計師可以在程式執行期獲得這幾個組成部分的相關資訊

using system.configuration;

using system.reflection;

class dataacess

}

uml圖:

總結:

1.用了反射可以避免switch選擇語句

2.如果要增加oracle資料庫,只用增加oracleuser類和oracledepartment類

3.如果要增加project表功能,要增加iproject介面,及其子類和修改dataaccess工廠.

工廠模式和策略模式的區別在於例項化乙個物件的位置不同,對工廠模式而言,例項化物件是放在服務端的,即放在了工廠類裡面;

而策略模式例項化物件的操作在客戶端;

參考區別文章(

設計模式學習1

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

設計模式 學習 1

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

設計模式學習 1

今天在公司有時間看了下設計模式,現在寫下自己的對它的理解.1.開 閉原則 乙個軟體實體應當對擴充套件 開 放,對修改 關 閉 2.理氏代換原則 乙個如果適用一基類,那麼它必然適用於其子類 設計模式解析 1.工廠模式 對類例項化不要直接呼叫類,而要對介面,如 inte cea inte ce new ...