面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)
2012-06-21 17:04
281 查看
在我上一篇文章发表后,收到了很多博友的回复,其中有一位博友提了一个问题,TestBase 继承了ITest是多余的,我认为,我有必要再写一篇文章来说明一下,TestBase为什么要继承ITest,当然各位也可以再次发表自己的看法。
还是那个统一接口规范,这时,有个ADO.NET 的数据基类,它会去实现它,如下
而我们的系统中,还有一种数据源,它叫Linq To SQL,同时它又是一个很好的ORM工具,它帮助我们很好的把实体数据库进行映射进来了。它作为由linq to sql产生的实体的基类,去实现统一接口,如下:
这时,我们有两个数据基类去实现了这个统一操作接口,这时,如果有其它数据源,如为单元测试提供的内存流数据库,也是去实现统一操作规范。事实上,在DATA层提供了多种实现统一操作接口的方式,而它们的实体子类需要去分别继承各自的基类和自己的个性化接口接口,而最终使用哪种数据库去实现,我们可以通过IOC进行动态设定它。这只是最底层的层次,事实上,在每个实体操作的接口与实现中,还存在着这种关系,而这种关系一定会被约束在配置文件中,你可以根据配置的方式,在程序运行时去动态创建你的实例,当然这同样是IOC干的事。
1 /// <summary> 2 /// 数据统一接口规范 3 /// </summary> 4 interface ITest 5 { 6 /// <summary> 7 /// 插入方法 8 /// </summary> 9 void Insert(); 10 }
还是那个统一接口规范,这时,有个ADO.NET 的数据基类,它会去实现它,如下
1 /// <summary> 2 /// 统一实体基类 3 /// ADO.NET操作基类 4 /// </summary> 5 abstract class TestBase : ITest 6 { 7 8 #region ITest 成员 9 10 public virtual void Insert() 11 { 12 Console.WriteLine("使用ADO.NET操作方式去实现它"); 13 } 14 15 #endregion 16 }
而我们的系统中,还有一种数据源,它叫Linq To SQL,同时它又是一个很好的ORM工具,它帮助我们很好的把实体数据库进行映射进来了。它作为由linq to sql产生的实体的基类,去实现统一接口,如下:
1 /// <summary> 2 /// 统一实体基类 3 /// Linq To SQL操作基类 4 /// </summary> 5 abstract class TestBase : ITest 6 { 7 8 #region ITest 成员 9 10 public virtual void Insert() 11 { 12 Console.WriteLine("使用Linq To SQL操作方式去实现它"); 13 } 14 15 #endregion 16 }
这时,我们有两个数据基类去实现了这个统一操作接口,这时,如果有其它数据源,如为单元测试提供的内存流数据库,也是去实现统一操作规范。事实上,在DATA层提供了多种实现统一操作接口的方式,而它们的实体子类需要去分别继承各自的基类和自己的个性化接口接口,而最终使用哪种数据库去实现,我们可以通过IOC进行动态设定它。这只是最底层的层次,事实上,在每个实体操作的接口与实现中,还存在着这种关系,而这种关系一定会被约束在配置文件中,你可以根据配置的方式,在程序运行时去动态创建你的实例,当然这同样是IOC干的事。
相关文章推荐
- 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用
- 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用
- 数据底层操作告诉了我们接口,抽象类,继承与多态性的使用
- 接口,抽象类,继承与多态性的使用
- java面向对象—抽象类、接口与多继承
- 7.1面向对象(继承中成员方法关系,final关键字,多态,抽象类,接口)
- Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性
- Java基础之面向对象(三)--继承、抽象类、接口、final修饰符、模版方法模式
- 黑马程序员_day07 面向对象(继承,抽象类,接口)
- 我们神码小组第一次合作完成的java项目——类的多态继承与接口的使用练习。
- 黑马程序员——第7天——(面向对象)继承,final关键字,抽象类,接口
- 黑马程序员——Java基础---面向对象(封装、继承、单例、抽象类、接口、内部类)
- 方法,面向对象,构造方法,继承,多态,抽象类,接口
- 黑马程序员 笔记(七)——面向对象(继承、抽象类、接口)
- 在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结
- 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类
- 第七天-面向对象(继承,抽象类,接口)
- 黑马程序员 Java面向对象(继承,抽象类,接口,多态,内部类)
- 项目过程中如何使用面向对象的特征:继承,封装,多态,接口
- 关于继承,类,抽象类,接口的实际操作