美文网首页
何为面向接口编程

何为面向接口编程

作者: 无忌不悔 | 来源:发表于2019-05-05 15:21 被阅读0次

面向接口编程不与面向对象编程同级,而是附属于面向对象编程思想,是面向对象编程思想的精髓之一。

定义

在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。

本质

  1. 接口是一组规则的集合,它规定了实现本接口的类或者接口必须拥有的一组规则。
  2. 接口是在一定粒度视图上同类事物的抽象表示,实现了多态性。

优点

  1. 结构清晰,使用方便。
  2. 提高系统的灵活性,当下层需要改变时,只要接口及接口功能不变,则上层不用做任何修改。
  3. 设计合理的接口,有利于程序的规范化,可并行进行开发,从而提高效率。
  4. 实现了程序的可插拔性,对于不同的需求切换不同的实现,降低了耦合度,随着系统的复杂性的提高优势会愈加明显。
  5. 允许多重实现,弥补了继承的缺陷。

缺点

  1. 增加了设计复杂度,不适用于简单的系统。
  2. 可能会降低代码的可复用性。
  3. 可能会降低程序的执行效率。

实现

接口分为底层实现、接口层定义、上层调用三部分。

接口层

  • 接口层是上下层的粘合剂,实现上下层的分离。
  • 接口层通过单例持有底层服务。
  • 底层需要将自己的功能注入给接口层。
  • 上层通过指定的入口调用下层的接口。

底层

  • 底层需要遵循接口层协议,并实现protocol的声明的方法。
  • 底层的服务需要注入到接口层,可以是底层setup时注入,也可以是二方的其他合适的位置注入。

上层

  • 上层只依赖接口层,通过接口层调用底层方法。

相关文章

  • 何为面向接口编程

    面向接口编程不与面向对象编程同级,而是附属于面向对象编程思想,是面向对象编程思想的精髓之一。 定义 在系统分析和架...

  • 《Oracle Java SE编程指南》15-05:面向接口编程

    内容导航: 前言 1、接口的作用 2、面向接口编程 前言 接口的核心作用是面向接口编程。 面向接口编程 是一个非常...

  • Android 面向接口编程

    关键词:Android、POP、面向接口编程 、面向过程、面向协议 一、概述 面向接口编程是面向对象编程的一种实...

  • Android 网络框架--Retrofit2 架构分析

    面向接口编程 面向接口编程,模块化编程的必备技能,其乃实现解耦,增强扩展性的重要手段。 面向接口编程具体指的是什么...

  • 谈谈面向对象编程

    何为面向对象编程 面向对象编程简介 面向对象编程(Object-oriented Programming,缩写:O...

  • 面向指针编程(一)

    面向对象编程,面向设计模式编程(亦即设计模式),面向接口编程,面向模板编程(亦即泛型编程),面向函数编程(亦即函数...

  • 8、使用注解开发

    8.1:面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 ...

  • iOS面向接口编程(面向protocol编程)

    iOS面向接口编程(面向protocol编程) 前言 面向接口编程已经是老生常谈了,但是最近在做项目重构中发现,团...

  • 面向接口编程与策略模式

    面向接口编程 & 面向对象编程 Interface-based programming, also known a...

  • Java知识框架 - 架构概念

    SOAimage.png 微服务image.png 面向接口编程 面向函数编程

网友评论

      本文标题:何为面向接口编程

      本文链接:https://www.haomeiwen.com/subject/inchoqtx.html