接口:
1,用于沟通的中介物的抽象化
2,实体把自己提供给外界的一种抽象化说明,用以内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式(内部可能修改了,但是接口不变)。
简单说就是:接口是对外的一种说明,说明自己提供了哪些功能,至于内部实现,对外部不公开。比如,我提供了注册功能,你只需要告诉我手机号,密码,就可以注册,
至于注册是怎么实现的,对外不公开。
3,对应Java接口即声明,声明了哪些方法是对外公开提供的。
面向接口编程
1,结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,每层间仅依赖接口而非实现类。
2,接口实现的变动不影响各层间的调用,这一点在公共服务尤为重要。
3,面向接口编程中接口是用于隐藏具体实现和实现多态性的组件。
什么是IOC
IOC:控制反转,控制器的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护,自己拿来使用。
DI(依赖注入)是一种实现方式。
目的:创建对象并且组装对象之间关系。
扩展理解:
哪些方面的控制被反转了呢?
“获得依赖对象的过程被反转了”。控制被反转了之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。于是,控制反转取一个更合适的名字叫做:依赖注入。
这实际上是实现IOC的方法:注入。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
IOC房屋中介
房屋中介 --》 IOC
1)找中介 --》 1)找IOC容器
2)中介介绍房子 --》 2)容器返回对象
3)租房,入住。 --》 3)使用对象