2012年8月30日 星期四

就是不給 New 之 封裝建構子

不給 New~ 不給 New~ 我就不給 New 物件~ 我就不給New呀 不給New呀 不給你New呀~



有時候某物件只希望以特定方法產生,而非所有人都能 new ,這時候只要封裝建構子即可

上面說的有點抽象,但是這個一定有看過

SqlDataReader 必須藉由 ExecuteReader() 產生

SqlDataReader 有點像是代理 SqlCommand 處理一些功能

他需要某些 SqlCommand 裡面的東東

但是如果誰都能 new 一個SqlDataReader

那可能會因為 缺少某些 SqlCommand 裡面的東東 而出錯

所以統一由 SqlCommand 所提供的 公開方法 來產生 SqlDataReader 物件

以確保每個 SqlDataReader 都能正常運作



正經範例如下



類別跟介面

實際運作的主類別



今天想要專業的人才說話 所以改寫如下



類別跟介面

實際運作的主類別

等等,なにかおかしい



這下演講將變得有點兒糟

那就不給 New 吧



類別跟介面

實際運作的主類別



這下就能徹底擺脫熊○的騷擾了

沒有留言:

張貼留言