关于java接口设计的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于java接口设计的问题

2016-03-18 18:23:09 2166 1

我知道,java抽象类是一种“是什么”的关系,接口则是一种“有什么”的关系。那么在实际开发中,接口的设计过程是怎样的?我这里有三种想法,不知道是哪一种,或者都不是。
1、从上到下设计,我以map接口为例,就是架构师设计好map接口,然后再让程序员去实现HashTable,HashMap等类(ps:HashMap跟HashTable实现了map接口)。这里“从上”的意思就是先设计接口,“到下”就是再根据接口去实现类
2、跟1相反,是从下到上进行设计,就是先实现好类HashMap、HashTable等,再通过重构手段,不断提炼超类,直至最后成为接口
3、采用缺省适配器模式。就是写完HashMap之后,将其方法提炼为接口map1。之后再要实现HashTable等类的时候,抽取HashMap与HashTable的共同部分为接口map2,让这两个类都实现map2,再去掉原先的map1
不知道在实际开发中用的是哪一种方式?如果我说的三种都是错的 ,恳请您跟我说说对的是什么样子的,感谢。

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:07:02

    接口在Java中本身有不同的用法:
    (1)对组件解耦,比如说类似代码分层之类的。这种情况就适合根据业务提炼接口
    (2)封装代码,比如你说的设计数据结构、之类的,那么就是先设计接口,再设计对应的类
    (3)在Java 8以前,Java没有事件、回调函数、Lambda函数之类的概念,因此注入代码也通过接口实现。这种情况,其实接口只是扮演一个函数的容器而已,不需要什么特别的设计。

    0 0
相关问答

42

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 147571浏览量 回答数 42

170

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 233998浏览量 回答数 170

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 341449浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 143671浏览量 回答数 13

119

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 302760浏览量 回答数 119

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 149013浏览量 回答数 22

22

回答

据说在家办公的程序员是这样写代码的?

问问小秘 2020-02-18 16:38:14 1242989浏览量 回答数 22

24

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 660759浏览量 回答数 24

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 148146浏览量 回答数 31

43

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 144751浏览量 回答数 43
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载