什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。

什么是面向接口编程

一、什么是面向接口编程

在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。

面向接口编程就是先把客户的业务逻辑线提取出来,作为接口,业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。

二、面向接口编程的优点

(1)降低程序的耦合性。

其能够最大限度的解耦,所谓解耦既是解耦合的意思,它和耦合相对。耦合就是联系,耦合越强,联系越紧密。

在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,
扩展功能和debug的难度也就越大。

(2)易于程序的扩展和维护


延伸阅读

interface的特性

1. 接口中的方法可以有参数列表和返回类型,但不能有任何方法体。

2. 接口中可以包含字段,但是会被隐式的声明为static和final。

3. 接口中的字段只是被存储在该接口的静态存储区域内,而不属于该接口。

4. 接口中的方法可以被声明为public或不声明,但结果都会按照public类型处理。

5. 当实现一个接口时,需要将被定义的方法声明为public类型的,否则为默认访问类型,Java编译器不允许这种情况。

6. 如果没有实现接口中所有方法,那么创建的仍然是一个接口。

7. 扩展一个接口来生成新的接口应使用关键字extends,实现一个接口使用implements。

文章标题:什么是面向接口编程,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/62245

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年7月28日 下午9:26
下一篇 2023年7月28日 下午9:52

相关推荐

  • DevOps与云计算的关系

    DevOps与云计算结合可提升软件开发和部署的效率、弹性和速度。两者相辅相成:1. DevOps促进持续集成和持续部署,优化产品的时间上市;2. 云计算提供按需资源,降低开发及运营成本;3. DevOps在云环境中可以更灵活地进行自动化和监控;4. 两者共同致力于实现更可靠和可扩展的应用部署。在这些…

    2024年1月4日
    15100
  • 如何加强网站建设管理

    开篇直接回答:有效加强网站建设管理,需遵循以下策略:1、制定具体的网站发展规划、2、注重用户体验设计、3、实施严格的内容审核制度、4、保障网站的安全性、5、优化搜索引擎排名、6、进行持续的网站维护。其中,制定具体的网站发展规划是一个关键步骤,涵盖了明确网站的目标受众、制定内容更新计划等,为后续管理工…

    2024年1月9日
    13700
  • oa有什么作用

    标题:OA的作用 OA(办公自动化系统)功能多样,关键在于提高工作效率、优化流程和增进沟通。1、实现信息资源的集成和优化管理,2、流程自动化加快决策,3、协同工作增进内部沟通,4、远程访问提升灵活性。在第一点中,OA系统让各类文档和数据可以在一个统一的平台上进行存储和管理,极大地节省了员工查找和处理…

    2024年1月11日
    10100
  • 用例评审的主要内容是什么

    用例评审的主要内容包括:1、测试用例是否按照公司定义的模板进行编写的;2、测试用例的本身的描述是否清晰,是否存在二义性;3、测试用例内容是否正确,是否与需求目标相一致。 用例评审的主要内容包括以下: 1、测试用例是否按照公司定义的模板进行编写的; 2、测试用例的本身的描述是否清晰,是否存在二义性; …

    2022年12月27日
    54900
  • 电脑办公软件哪个较好用

    电脑办公软件好用的有:1、Worktile;2、通达OA;3、金蝶OA;4、慧点OA;5、PingCode;6、Jira;7、Coding;8、Teambition;9、Trello;10、北极星OKR。其中,Worktie 是团队项目协作系统,能满足团队的任务、项目、文档、IM、目标、 日历、甘特…

    2023年4月20日
    37500
  • 道路绘图软件有哪些

    道路绘图软件有:1、CARD/1;2、Civil3D;3、HintCAD;4、EICAD;5、OpenRoads Designer;6、路线大师;7、海地公路优化设计系统;8、鸿业市政道路设计软件。CARD/1是强大的道路勘测设计一体化软件,以精细的功能、灵活的出图机制、开放的集成环境等特点而著称。…

    2023年4月4日
    4.7K00
  • 什么是JMM

    JMM是Java虚拟机中用来处理多线程内存访问的模型。它规定了多个线程之间如何通过主存进行交互,如何获取数据,以及如何提交数据。从长远来看,深入理解JMM对于理解并发程序的运行机制,预防并发错误以及提高并发效率具有重要意义。 一、什么是JMM JMM是Java虚拟机中用来处理多线程内存访问的模型。它…

    2023年7月30日
    32400
  • 如何评估进度管理的效果

    项目进度管理效果评估核心在于四个方面:1、是否遵循既定的时间表;2、资源使用的优化程度;3、风险控制和应对的及时性;4、利益相关者满意度。在这四者之中,对项目与既定时间表的符合度进行深入探讨尤为关键。 一、遵循时间表的评估方法 项目是否遵循既定的时间表是评量其进度管理是否合格的首要标准。用以衡量的工…

    2023年12月26日
    22900
  • hdmi和vga的区别

    hdmi和vga的区别有:1、传输效果不同;2、传输介质不同;3、图像传输质量和刷新率不同;4、带宽不同;5、传输技术不同;6、集成度不同等。传输效果不同是指,vga和hdmi一样可以传输音频和视频,但是vga使用的时间更长 ,支持的视频格式也更为广泛。 1、传输效果不同 hdmi是一种接口标准,同…

    2023年3月21日
    1.7K00
  • 缺陷管理的内容是什么

    缺陷管理/软件缺陷管理(Defect Management)是在软件生命周期中识别、管理、沟通任何缺陷的过程(从缺陷的识别到缺陷的解决关闭),确保缺陷被跟踪管理而不丢失。一般的,需要跟踪管理工具来帮助进行缺陷全流程管理。 世间万物都有着自己的生命历程,任何产品在生产过程中,从一开始创建它的过程中,产…

    2022年11月14日
    67300

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部