日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...

發(fā)布時間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在我上一篇文章發(fā)表后,收到了很多博友的回復(fù),其中有一位博友提了一個問題,TestBase?繼承了ITest是多余的,我認(rèn)為,我有必要再寫一篇文章來說明一下,TestBase為什么要繼承ITest,當(dāng)然各位也可以再次發(fā)表自己的看法。

1 /// <summary>2 /// 數(shù)據(jù)統(tǒng)一接口規(guī)范3 /// </summary>4 interface ITest5 {6 /// <summary>7 /// 插入方法8 /// </summary>9 void Insert(); 10 }

還是那個統(tǒng)一接口規(guī)范,這時,有個ADO.NET 的數(shù)據(jù)基類,它會去實現(xiàn)它,如下

1 /// <summary>2 /// 統(tǒng)一實體基類3 /// ADO.NET操作基類4 /// </summary>5 abstract class TestBase : ITest6 {7 8 #region ITest 成員9 10 public virtual void Insert() 11 { 12 Console.WriteLine("使用ADO.NET操作方式去實現(xiàn)它"); 13 } 14 15 #endregion 16 }

而我們的系統(tǒng)中,還有一種數(shù)據(jù)源,它叫Linq To SQL,同時它又是一個很好的ORM工具,它幫助我們很好的把實體數(shù)據(jù)庫進(jìn)行映射進(jìn)來了。它作為由linq to sql產(chǎn)生的實體的基類,去實現(xiàn)統(tǒng)一接口,如下:

1 /// <summary>2 /// 統(tǒng)一實體基類3 /// Linq To SQL操作基類4 /// </summary>5 abstract class TestBase : ITest6 {7 8 #region ITest 成員9 10 public virtual void Insert() 11 { 12 Console.WriteLine("使用Linq To SQL操作方式去實現(xiàn)它"); 13 } 14 15 #endregion 16 }

這時,我們有兩個數(shù)據(jù)基類去實現(xiàn)了這個統(tǒng)一操作接口,這時,如果有其它數(shù)據(jù)源,如為單元測試提供的內(nèi)存流數(shù)據(jù)庫,也是去實現(xiàn)統(tǒng)一操作規(guī)范。事實上,在DATA層提供了多種實現(xiàn)統(tǒng)一操作接口的方式,而它們的實體子類需要去分別繼承各自的基類和自己的個性化接口接口,而最終使用哪種數(shù)據(jù)庫去實現(xiàn),我們可以通過IOC進(jìn)行動態(tài)設(shè)定它。這只是最底層的層次,事實上,在每個實體操作的接口與實現(xiàn)中,還存在著這種關(guān)系,而這種關(guān)系一定會被約束在配置文件中,你可以根據(jù)配置的方式,在程序運(yùn)行時去動態(tài)創(chuàng)建你的實例,當(dāng)然這同樣是IOC干的事。

本文轉(zhuǎn)自博客園張占嶺(倉儲大叔)的博客,原文鏈接:面向?qū)ο蟮墓适聗數(shù)據(jù)底層操作告訴了我們接口,抽象類,繼承與多態(tài)性的使用~續(xù)(TestBase繼承ITest是多余的?),如需轉(zhuǎn)載請自行聯(lián)系原博主。

總結(jié)

以上是生活随笔為你收集整理的面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。