首先給大家拜個晚年,祝大家新春快樂,萬事如意,雞年大吉。
好了,前面我們講了很多的工廠模式,其中,有個很明顯的特點,工廠中,有一個方法,里面有很多的swich case 分支,我們前面說過,我們可以用反射的技術來避免swich case 分支。ok,那么,今天,我們來用反射+抽象工廠模式 來完善一下 抽象工廠模式
首先,給大家復習一下,什么是反射: Assembly.Load("程序集名稱").CreateInstance("命名空間.類名"); 這是它的語法。需要using System.Reflection;
之前我們的寫法是 IUser result = new SqlserverUser();
我們用反射就可以 IUser result=(IUser)Assembly.Load("程序集名稱").CreateInstance("命名空間.類名"); 這是它的語法。需要using System.Reflection;
實際效果是一樣的,但這兩種寫法有什么區別嗎?
同樣是實例化 SqlserverUser 類,這兩種寫法的區別就是,用反射寫,SqlserverUser 類 是當作字符串變量出現在語句中的,這樣,對於一個字符串來說,那就非常靈活了。這就相當於是一個寫死在程序里,一個當作變量出現在程序里 一樣,哪個更加靈活不言而喻了。
那這樣,我們就可以將數據庫操作封裝成dll文件,然后通過配置文件,讓程序靈活加載dll,這樣,這個程序就活起來了。
靈活的運用反射+工廠類設計模式,就可以讓整個程序更易於擴展。 一個好的設計,可以省卻大量的時間,這樣,程序員也就不用天天加班加點的改代碼了。
關於更詳細的 反射 技術, 配置文件 技術,園友們可以閱讀一下其他大神的文章,在此不做詳細講解,有時間的話我會開辟新的專欄,專門講解基礎知識。
好了,今天先到此了,下一篇會講 狀態模式
本系列將持續更新,喜歡的小伙伴可以點一下關注和推薦,謝謝大家的支持。
