interface+Impl什么时候用-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

interface+Impl什么时候用

2017-03-24 10:47:29 2310

之前在书上经常说interface+Impl是有多好,网上也有人[zhouchao001的博客]总结到:
1、重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。

   2、简单、规范性:如果一个项目比较庞大,那么就需要一个能理清所有业务的架构师来定义一些主要的接口,这些接口不仅告诉开发人员你需要实现那些业务,而且也将命名规范限制住了(防止一些开发人员随便命名导致别的程序员无法看明白)。
   3、维护、拓展性:比如你要做一个画板程序,其中里面有一个面板类,主要负责绘画功能,然后你就这样定义了这个类,可是在不久将来,你突然发现这个类满足不了你了,然后你又要重新设计这个类,更糟糕是你可能要放弃这个类,那么其他地方可能有引用他,这样修改起来很麻烦,如果你一开始定义一个接口,把绘制功能放在接口里,然后定义类时实现这个接口,然后你只要用这个接口去引用实现它的类就行了,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
    4、安全、严密性:接口是实现软件松耦合的重要手段,它描叙了系统对外的所有服务,而不涉及任何具体的实现细节。这样就比较安全、严密一些

,但是在公司中却很少用到,各位大神求解

云服务器登录 云服务器设置
分享到
取消 提交回答
全部回答(2)
  • 五月华斩
    2019-07-17 20:57:58

    首先这种方式增加的工作量基本可以忽略不计。
    其次在SOA/微服务中,这已经是行业一种基本共识了,如果你所在的开发团队没有使用,那你可能要考虑下你所在的团队是不是比较封闭。:)

    0 0
  • 没有昵称了
    2019-07-17 20:57:58

    interface:是一种约定,暴露服务能力
    Impl:是服务的实现
    如果你用过SOA面向服务开发,就会使用到这种模式。还有一些中间件如 dubbo,rocketMQ 都有用到

    1 0
添加回答
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

相似问题
最新问题