面向接口的编程思想
① 采用面向接口编程思想组装一台计算机
编写一个CPU的接口
编写一个内存的接口
编写一个硬盘的接口
编写一个CPU类实现CPU接口
编写一个内存类实现内存接口
编写一个CPU类实现CPU接口
编写一个计算机类
编写测试类分别New出CPU,内存,硬盘类。用计算机类接住值
② 如何理解Spring的AOP
Spring的AOP面向切面编程,就是横向的,比如程序运行时都要建日志,相当于SQL的触发器。
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。
③ 面向接口编程怎么理解,不要粘贴复制的,要自己的理解说出来
看你是从编程思想还是编程技术看。编程思想面向接口就是至下而上,先规划好要做的事,然后定义完成事情必须的接口,之后实现此接口。编程技术就是楼上说的了。还有就是一些框架支持注入类的,配置期或者运行的时候再动态注入实现接口的类,达到不换内核实现功能更新。
④ 什么是面向接口编程
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。 Booch先生那天谈到Interaction Designer,它就是指做这类设计的人,只不过层次更高一些。我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一。 1.关于接口的理解。 接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。 我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。 接口的本身反映了系统设计人员对系统的抽象理解。 接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class); 第二类是对一个体某一方面的抽象,即形成一个抽象面(interface); 一个体有可能有多个抽象面。 抽象体与抽象面是有区别的。 2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和。任何接口都是在一定的环境中产生的。因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义。 3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。 面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法 面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现 接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题 我认为:UML里面所说的interface是协议的另一种说法。并不是指com的interface,CORBA的interface,
⑤ 何谓面向接口编程其思想实质是什么
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程
⑥ 为什么是List list = new ArrayList,而不直接用ArrayList
面向接口编程思想。
首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。
//1.这样你就只能调用List接口里面定义好的方法,而不能使用你自己在ArrayList扩展的方法。
Listlist=newArrayList();
//2.这样你可以使用自己在ArrayList类上扩展的方法
ArrayListlist=newArrayList();
//接口就是定义了一些行为,它要求你应该做什么。
//假如你采用了面向接口编程方式,也就是第一种方式:Listlist=newArrayList();
//就能通过接口很大限度上规范开发人员的实现规则,因为你现在只能调用接口的方法。
⑦ 依赖注入就是面向接口编程吗
不是,面向接口的编程是一种思想
依赖注入只是一种管理类之间关系的方式,它可以通过接口注入也可以通过构造注入还能用getter/setter注入
只能说依赖注入有用到面向接口的编程思想
⑧ JAVA小问题
1.首先这是一个面向接口编程的java例子,这样写的好处是只需要改变interface walkable接口的(内容)方法,就改变了实现这个接口的类。达到一改全改。改变的地方就比较少,不会出错。
2.walkable w 这个是在main方法里面实例化的。要知道,JAVA程序入口就是main()方法
,所以你在运行的时候实例化一下,得到对象w在调用walk()方法