接口编程的好处 待我称王封你为后i 2022-07-15 12:20 173阅读 0赞 在项目中的意义: 在传统的项目开发过程中,由于客户的需求经常变化,如果不采用面向接口编程,那么我们必须不停改写现有的业务代码。改写代码可能产生新的BUG,而且改写代码还会影响到调用该业务的类,可能全都需要修改,影响系统本身的稳定性。而且为了将改写代码带来的影响最小,我们不得不屈服当前的系统状况来完成设计,代码质量和稳定性更低。当这种情况积累到一定程度时,系统就会出现不可预计的错误,代码凌乱,不易读懂,后接手的人无法读懂代码,系统的维护工作越来越重,最终可能导致项目失败。 接口在项目就是一个业务逻辑,面向接口编程就是先把客户的业务提取出来,作为接口。业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件(例如Spring框架)中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。 采用基于接口编程的项目,业务逻辑清晰,代码易懂,方便扩展,可维护性强。即使更换一批人员,新来的人依然可以快速上手。对于公司来说,意义更大。 在Java中的意义: Java本身也是一个不断完善的语言,他也在频繁的改动他的系统API来完善,他的API是一个庞大的体系,互相关联,如果不采用接口,而都是用实现类的话,那么API的改动就会给整个体系带来不稳定。而且如果改动API,那么就会有大量采用旧API的项目因无法正常运行,会损失大量客户。换句话说,JDK已经发布的API是一种承诺,一经发布就不能更改,即使原来API存在各种各样的问题(例如java.util.Properties类就是一个失败的例子)也必须保留,于是在Java里就出现了不建议使用的方法,但JDK依然提供该方法。而且Java语言本身是一个跨平台的语言,为了满足在各个平台下运行,就必须把各种操作做成接口,在编写各个平台下的实现类。 设计模式的体现: 在设计模式的原则里的开闭原则,其实就是要使用接口来实现对扩展开放,对修改关闭。在设计模式的其他原则里也有关于基于接口编程的原则,即依赖倒转的设计原则(DIP)----高层模块不应该依赖于底层模块。二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象(注:来自《敏捷软件开发--原则、模式与实践》Robert C.Martin著)。在使用面向接口的编程过程中,将具体逻辑与实现分开,减少了各个类之间的相互依赖,当各个类变化时,不需要对已经编写的系统进行改动,添加新的实现类就可以了,不在担心新改动的类对系统的其他模块造成影响。 编程也是一门艺术,在C语言中灵活的使用指针是一门艺术,在面对对象的程序中,灵活的使用接口也是一门艺术。现在项目中,功能越来越复杂,只设计了完美的类,对于整个系统来说没有多大意义,现在的项目更注重各个功能模块的整合及可维护性,接口的设计就显得更为重要了。程序设计不再是设计类的具体实现,而是从整个项目出发,设计出可扩展性强的接口。当你发现越来越灵活的使用接口时,那么你就从程序员升级为架构师了。可惜我现在依然是一名程序员,正在像架构师努力。 在一些大型项目或者大型公司里,都是由架构师编写出系统接口,具体的实现类交给了程序员编写,公司越大这种情况越明显,所以在这些公司里做开发,我们可能都不知道编写出的系统是个什么样子,每天做的工作可能就是做“填空题”了。建议大家阅读敏《捷软件开发--原则、模式与实践》Robert C.Martin著这本书,那么对如何进行接口编程就会有一个新的认识了。 最后,希望大家都能成为一个优秀的系统架构师。 我记得我曾经在一篇帖子中提到过,一个接口可以从三方面去考察: 制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者)。 接口本质上就是由制定者来协调实现者和调用者之间的关系。 所以通常说的“面向接口编程”可以理解为: 只有实现者和调用者都遵循“面向接口编程”这个准则,制定者的协调目的才能达到。 一个老生常谈的例子就是JDBC。 优点: 接口和实现分离了,适于团队的协作开发。 更具体的优点:可以参看IDP原则。 缺点: 设计难了,在你没有写实现的时候,就得想好接口,接口一变,全部乱套,这就是所谓的设计比实现难。 所以设计接口的人工资都高啊!!!
相关 Java接口理解和实现:作用与好处 Java接口是面向对象编程中的重要概念,它的主要作用和好处包括: 1. **抽象**: 接口定义了一组方法,但并不提供任何具体的方法实现。这使得开发者可以专注于接口行为的定义 迷南。/ 2024年09月11日 08:00/ 0 赞/ 33 阅读
相关 针对抽象编程与对应的好处 针对抽象编程与对应的好处 简介:针对抽象编程与对应的好处。 代码讲解 下面的代码就是使用抽象编程,我们把基类定义为抽象类,然后了当子类继承的时候,需要重写基类里面 素颜马尾好姑娘i/ 2024年03月30日 09:29/ 0 赞/ 34 阅读
相关 儿童学计算机编程好处,儿童学习编程有什么好处 原标题:儿童学习编程有什么好处 前几年中国家长可能对少儿编程教育感到陌生。但随着这两年美国STEM教育在中国的流行,以及今年国务院普及中小学阶段人工智能、编程教育规划的发布, 男娘i/ 2022年10月08日 00:49/ 0 赞/ 165 阅读
相关 Java 接口(interface)的用途和好处 http://write.blog.csdn.net/postedit/41129935 首先不懂什么是interface的可以参考这里 http://blog.csdn. 旧城等待,/ 2022年08月14日 00:47/ 0 赞/ 157 阅读
相关 接口编程的好处 在项目中的意义: 在传统的项目开发过程中,由于客户的需求经常变化,如果不采用面向接口编程,那么我们必须不停改写现有的业务代码。改写代码可能产生新的BUG,而且改写代码还会影 淡淡的烟草味﹌/ 2022年07月15日 12:20/ 0 赞/ 178 阅读
相关 接口编程的好处 在项目中的意义: 在传统的项目开发过程中,由于客户的需求经常变化,如果不采用面向接口编程,那么我们必须不停改写现有的业务代码。改写代码可能产生新的BUG,而且改写代码还会影 待我称王封你为后i/ 2022年07月15日 12:20/ 0 赞/ 174 阅读
相关 编程期间休息片刻的好处 原文作者 Axel Rauschmayer 是一位居住在德国慕尼黑的自由软件工程师。他在这篇博文列举了在编程期间休息片刻的一些好处。 你会更精明而不是更卖力地工作 青旅半醒/ 2022年06月18日 12:17/ 0 赞/ 167 阅读
相关 面向接口编程的好处 洞悉编程思想是我们学习语言过程中的必由之路,但注意对于编程思想的理解一定要建立在大量的代码实现经验上,不然只是在口头空谈编程思想而不去编程,根本无法深入理解思想的核心。 面向 谁借莪1个温暖的怀抱¢/ 2022年06月17日 01:24/ 0 赞/ 220 阅读
相关 编程期间休息片刻的好处 原文作者Axel Rauschmayer是一位居住在德国慕尼黑的自由软件工程师。他在这篇博文列举了在编程期间休息片刻的一些好处。 你会更精明而不是更卖力地工作。我曾经为了 梦里梦外;/ 2022年04月16日 00:59/ 0 赞/ 200 阅读
还没有评论,来说两句吧...