博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenJDK源码研究笔记(十四):三种经典的设计方法,接口,接口-抽象类-具体实现类,接口-具体实现类...
阅读量:4557 次
发布时间:2019-06-08

本文共 1044 字,大约阅读时间需要 3 分钟。

在研究OpenJDK源码过程中,我发现常用的设计方法就是2种:接口,接口-抽象类-具体实现类 。

在一些其它开源框架和业务开发中,经常存在着第3种设计,接口-具体实现类。

1.只有接口,没有实现类。

   定义接口,制定标准。

   在Java中,这个最典型的案例是JDBC的API的设计。

   Connection、Statement、PreparedStatement、CallableStatement、ResultSet等都是接口,没有任何实现方法。

   这些接口就是一个标准,具体的实现,都是由数据库厂商自行实现。

2.接口-抽象类-具体实现类。

   定义接口,确定系统架构。

   通过抽象实现接口,实现复用。

   通过具体实现类,提供面向用户的API。

   在Java中,这个最典型的案例是集合框架I的设计。

   定义Collection、List、Set、Map接口,然后有AbstractCollection、AbstractList、AbstractMap、AbstractSet等抽象实现,具体实现类ArrayList、LinkedList、LinkedHashSet、HashMap等,是在抽象类的基础上的具体实现。

  第三方,如果需要实现自定义的集合,可以单独实现接口,或者继承抽象类和具体实现类来实现,从而扩展JDK自带的集合功能。

  当然,第三方,也可以完全自定义自己的集合框架。

3.接口-具体实现类。

  有接口和具体实现类,没有抽象类的情况,在OpenJDK源码中比较少见。

  但是我们在实际开发中,有时会没有接口的抽象实现。

  比如Java Web开发中,我们根据业务逻辑定义了系统的一些接口,比如系统内部的CRUD接口,系统之间的通信接口,我们完全可以根据需要,直接实现接口即可。

  没有抽象类,通常是只需要一个具体实现。

  或者,一个接口的通信双方,各自有自己的一套实现方式。

小结

常用的设计方法,就那么多。掌握那些经典的常见的方法,其它设计方法就很容易理解了。

接口、抽象类、实现类、设计模式,诸如此类,最终还是归结到面向对象。

在实践中,加深对面向对象的理解,诸如设计模式、设计方法等很多高级货,自然就理解了。

相关阅读

 

OpenJDK源码研究过程中整理的学习笔记。 OpenJDK是GPL许可(GPL-licensed)的Java平台的开源实现。

原文参见:(小雷网-FansUnion.cn)

转载于:https://www.cnblogs.com/qitian1/p/6463463.html

你可能感兴趣的文章
js闭包理解案例-解决for循环为元素注册事件的问题
查看>>
2015.04.23,外语,读书笔记-《Word Power Made Easy》 12 “如何奉承朋友” SESSION 33
查看>>
Spring+SpringMVC+JDBC实现登录
查看>>
生与死之间
查看>>
NEFU 109
查看>>
HDU 5435
查看>>
git从已有分支拉新分支开发
查看>>
滚动条隐藏兼容写法
查看>>
SQL2005查询所有表的大小
查看>>
Shell 正则表达式
查看>>
Docker run命令参数整理
查看>>
qt-opencv配置mingw编译器
查看>>
CSS之Medial Queries的另一用法:实现IE hack的方法
查看>>
oo第三单元总结
查看>>
linux-CentOS6.4下安装oracle11g详解
查看>>
实力为王 八年DBA经验谈
查看>>
2-sat 问题 【例题 Flags(2-sat+线段树优化建图)】
查看>>
ext3.2 右击动态添加node的treepanel
查看>>
Database links
查看>>
1035 插入与归并(25 分)
查看>>