面向接口编程,面向接口编程怎么理解不要粘贴复制的要自己的理解说出来
来源:整理 编辑:智能门户 2023-08-20 03:26:19
本文目录一览
1,面向接口编程怎么理解不要粘贴复制的要自己的理解说出来
看你是从编程思想还是编程技术看。编程思想面向接口就是至下而上,先规划好要做的事,然后定义完成事情必须的接口,之后实现此接口。编程技术就是楼上说的了。还有就是一些框架支持注入类的,配置期或者运行的时候再动态注入实现接口的类,达到不换内核实现功能更新。你好!接口通常是对于面向对象编程而言的,一般是在只允许有方法出现,而不允许方法体出现时采用接口。如有疑问,请追问。
2,什么叫面向接口编程
[摘要]在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了[关键字]软件程序设计编程
3,Java语言深入讨论什么叫面向接口编程
首先,JAVA是一种完全面向对象的语言!像C和C++,只不过它们分别是面向过程的和不完全面向对象的语言!而伪编程语言并不是一种真正的语言!它是在数据结构和算法设计等课程中借助一种具体的语言(比如C、C++或JAVA)来阐述其思想,旨在表达出解决一类问题的逻辑。但有些问题过于抽象或复杂,抑或是问题的某一局部对全局来说不太重要,这就导致了无法或不方便用完整的程序来讲述,于是就用我们的自然语言加上一些专业符号来描述,让你明白整个问题的解决方案是怎么回事就行了!因为解决方案往往是针对一类特殊的问题。至于某些细节的实现,就要你去自己解决了!
4,什么是面向接口编程它的好处是什么
我不直到你说的是不是java语言,java语言的话它是面向对象的编程语言。所谓面向对象是说,比如把人看做一个类,那么人具有的眼睛,手,脚,耳朵等等这些都属于它的一个对象,那么人就有属性,比如说有说话的属性,走路的属性等等,但是你提到这个面向接口的编程我不太理解你要表达的意思。在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。
写小的应用程序看不到接口的优势,写大点的程序马上就显示出接口的优势,越大越明显.所以还是从现在开始养成面向接口编程的习惯.写多了程序就会觉得优势显而易见.
5,什么是面向接口编程及一个简单实例
面向接口编程是一个很高级的概念了以前的面向对象编程,以java为例子,主要的操作针对对象来进行,把要处理的问题简化分解成对象的方式来解决,对对象的使用主要是引用对象提供的方法后来的使用过程中,逐渐有人发现,当程序的内容不断扩大,程序的编写和完善需要更多的人员来合作完成的时候,面向对象的方式有些不便就很突出了,主要的就是类的继承和方法的重写,查询起来和引用起来很多不便。所以现在有面向接口编程的理念提出来,接口就是标准,接口就是规范,但是接口没有实现的方法,这样避免了很多类的继承的问题,特别在大型的程序的编写方面有广泛的应用。什么是面向接口编程及一个简单实例如果项目比较大型的话,对于类的高内聚性就比较重要,这就需要实现完整的一致的接口。因为你写的类的某些接口,很有可能会被其它部门不同的人使用,如果到时再发现缺少某些接口,那么事情就不好办了。 一般性的原则就是,如果你是开发的结果是库,或者你的类会被项目组外的人使用,那么完整的接口,即使有些接口现在用不到,也是需要写并且测试的。 如果你的工作目标不是“程序库”,那么你只需要实现你需要的类和接口,把注意力放到产品身上,而不需要去写那些根本在产品中不会使用的代码。 往往库和产品会结合来开发,以用产品来发现需要实现的高度重用的库,并用产品来检测这些库。 比如,谷歌的androdi系统,它开发了庞大的framework,但是对于framework组内的员工来说,它可能不会去使用这些库,很多接口对他们而言是无用的,但是也要开发。与此同时,谷歌的应用产品,比如gmail等,恰好可以激发和检查这些framework的实际性能。
6,什么是面向接口编程
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。Booch先生那天谈到Interaction Designer,它就是指做这类设计的人,只不过层次更高一些。我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一。1.关于接口的理解。接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。接口的本身反映了系统设计人员对系统的抽象理解。接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);一个体有可能有多个抽象面。抽象体与抽象面是有区别的。2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和。任何接口都是在一定的环境中产生的。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义。3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题我认为:UML里面所说的interface是协议的另一种说法。并不是指com的interface,CORBA的interface,面向接口编程是先把客户的业务逻辑线提取出来,作为接口,业务具体实现通过该接口的实现类来完成。当客户需求变化时,只需编写该业务逻辑的新的实现类,通过更改配置文件中该接口的实现类就可以完成需求,不需要改写现有代码,减少对系统的影响。面向对象和面向接口不矛盾。面向接口是指当我们使用一个功能时,我们应该尽可能放弃不必要的假设和要求,比如“用一个容器来存储一串数字”,那么我们不应该提示额外要求“我们应该用一个 list 还是 set” 而是尽量只提出要求 “我们需要一个容器”,这样一来,我们就用下面这样的方法,注意的是,c 的创建和使用可以是在不同的地方然后当成参数或成员变量传递给使用者,对于使用者来说“这是一个你想要的容器”,至于它具体是哪种容器使用者不应该关心它,如果使用者强制需要一个 set 那么应该修改需求说明成为“我们需要一个保证唯一性的集合”;为什么我们尽量不提出非必要的要求呢?当软件越来越复杂或者或者达到松耦合的要求时我们应该尽量避免把一个东西弄成一个固定的样子,这防碍将来对它进行修改或扩充,“尽量只提出功能性的要求而不是限制别人必要把代码写成什么样子”,“功能性的要求”其实就是就是对应到面向对象的“接口”,一般来说当我们依赖其它人写的代码时我们应该把它看成一个组件,它的内部实现方法我们并不关心,只要求实现功能的人和使用功能的人使用了相同的接口就可以了,这就可以让实现功能的人发挥它的想象力在组件的性能和稳健性和灵活性及扩展性上有机会做到更好 ,如果你已经知道了并且依赖这个实现的细节那么这个组件的每次修改都可能导致使用它的代码产生新的问题,那么这就是一个严重的问题,软件的质量就不能保证,我们应该支持积木式的组件供应方法,只需要修改一个配置就成把一个组件替换成另一个,这就是 spring 的配置文件给我们最直观的印象,这时使用这个组件的代码不会受到影响,比如同样一个加密的组件,使用不同的算法的安全程度和性能不同,但都能达到通信双方的安全要求,这样一来使用者的代码不需要知道细节也不用修改就能通过修改 spring xml 达到替换加密组件的要求:collection c = ...; 得到一个集合。c.add(new integer(5)); // 存数字。
文章TAG:
面向 面向接口编程 接口 编程 面向接口编程