天天看點

設計模式之反射模式

今天無意中看到部落格園伍迷寫的《大話設計模式》系列部落格,感覺十分有意思,诙諧幽默,又把繁雜的設計模式說的通俗易懂,頗為受益。

今天就稍微記錄下我學習的反射模式這一節。

具體概念我也不太會說,我說下,他用在的地方。

在寫程式的時候,經常會遇到類似判斷的代碼,而且這種判斷有很大的更改性,比如:我要查一件商品的真實價格,這其中包括原價、打折、滿XXX送XXX,類似的情況,可能有很大的變更性。如果我們每次做活動,商品真實價格的代碼都需要修改下,些上相應的判斷,那不是效率大大降低了麼?沒有一種方式,最大程度上的滿足商家的需求,而我們修改的代碼最少呢?

這時,設計模式就發揮作用了。

我們可以通過xml,把最可能變化的規則全部通過xml讀取,這樣,如果添加一個新的規則,那就非常友善了,隻需要修改xml的配置就能輕松搞定。

下面就是反射的重頭戲。可通過Assembly.Load的方式,加載一個類庫,如調用下面的類庫名稱,可通過配置就能輕松搞定。

Assembly.Load("WebDAL").CreateInstance("WebDAL.ReflectionPattern." + dr["class"].ToString(), false, BindingFlags.Default, null, args, null, null)

這個方法相當有用啊。大大解放了程式員啊