首先給大家拜個晚年,祝大家新春快樂,萬事如意,雞年大吉。

好了,前面我們講了很多的工廠模式,其中,有個很明顯的特點,工廠中,有一個方法,里面有很多的swich case  分支,我們前面說過,我們可以用反射的技術來避免swich case 分支。ok,那么,今天,我們來用反射+抽象工廠模式  來完善一下 抽象工廠模式

首先,給大家復習一下,什么是反射:   Assembly.Load("程序集名稱").CreateInstance("命名空間.類名"); 這是它的語法。需要using System.Reflection;

之前我們的寫法是 IUser result = new SqlserverUser();

我們用反射就可以 IUser result=(IUser)Assembly.Load("程序集名稱").CreateInstance("命名空間.類名"); 這是它的語法。需要using System.Reflection;

實際效果是一樣的,但這兩種寫法有什么區(qū)別嗎?

同樣是實例化 SqlserverUser 類,這兩種寫法的區(qū)別就是,用反射寫,SqlserverUser 類 是當作字符串變量出現(xiàn)在語句中的,這樣,對于一個字符串來說,那就非常靈活了。這就相當于是一個寫死在程序里,一個當作變量出現(xiàn)在程序里 一樣,哪個更加靈活不言而喻了。

那這樣,我們就可以將數(shù)據(jù)庫操作封裝成dll文件,然后通過配置文件,讓程序靈活加載dll,這樣,這個程序就活起來了。

靈活的運用反射+工廠類設計模式,就可以讓整個程序更易于擴展。 一個好的設計,可以省卻大量的時間,這樣,程序員也就不用天天加班加點的改代碼了。


關于更詳細的 反射 技術, 配置文件 技術,園友們可以閱讀一下其他大神的文章,在此不做詳細講解,有時間的話我會開辟新的專欄,專門講解基礎知識。

好了,今天先到此了,下一篇會講 狀態(tài)模式

本系列將持續(xù)更新,喜歡的小伙伴可以點一下關注和推薦,謝謝大家的支持。

 

努力,不是為了要感動誰,也不是要做給哪個人看,而是要讓自己隨時有能力跳出自己厭惡的圈子,并擁有選擇的權利。記住,用自己喜歡的方式過一生。


網(wǎng)友評論