`

回复: 我对针对接口编程的浅解

阅读更多
其实吧,接口这东西。。我举个例子来说,你如果正在写业务代码,考虑着业务逻辑,这时候突然需要访问底层与业务无关的东西,而这个底层的东西你又得花很多时间去思考。这样你就得中断对业务逻辑的思考,跳到底层实现中去,实现完底层这么复杂的一个东西之后,也许你又得从头开始思考业务逻辑,思考刚才做到哪了。其实这是面向过程的思考方式了——坏处就是一次需要考虑太多东西,思维还做了2次(或者更多次)跳跃。

如果有接口这么个东西,你就可以先不考虑底层的实现,写个接口,直接调用这个接口,继续业务逻辑的编写,完了之后再去实现这个接口,这样思维就不用那么跳跃,代码质量应该会相对高一些,写程序也轻松些。这就是我理解的所谓“分离关注点”。

再想想生活中的东西,其实也很好理解,比如说usb接口,生产主板的只要做出这么个接口,不去理睬usb的另一端具体的实现(比如可以有u盘呀、键盘呀、数码相机等等),专注于主板这个领域,那么他的产品质量应该会相对高些吧,因为专业,所以XX。。。

接口其实就是个规范,定制好这个规范后,比如USB的规范:2根数据线、2根电源线(其实我也不是很清楚USB具体的规范,这里只是打个比方),然后需要与usb连接的数据设备产商按着这个规范来做就ok了。

不说硬件领域,回头看编程领域,在写业务逻辑的时候,定制了底层的接口(其实就是定制你需要调用的方法,比如说一个嘎嘎叫的方法——静态语言如果不另外定义接口,这时候像Eclipse这样的编译器就会出现红杠杠,编译不通过,而动态语言就不会,所以我说动态语言有自然而然的接口,因为它不需要编译),然后放着不管它,等写完业务逻辑,再去考虑底层,或者也可以把底层交给更专业的人实现。

至于“切换不同的实现”,我觉得属于接口的副作用吧。
分享到:
评论

相关推荐

    针对接口编程的使能工具

    针对接口编程的使能工具

    java面向接口编程

    在Java编程语言中,"面向接口编程"是一种重要的设计原则,它强调了程序设计应以接口为中心,而非具体的实现类。这种编程范式有助于提高代码的可扩展性、可维护性和松耦合性。让我们通过生活中的实例和给定的类文件来...

    SCSI总线和IDE接口协议应用和编程

    SCSI总线与IDE接口协议应用和编程的知识点涵盖了两大主流的计算机数据传输接口技术,它们分别在不同的历史阶段和应用环境中扮演了重要的角色。在深入探讨之前,我们先来梳理这两种接口技术的发展脉络和基本概念。 ...

    精通windowsAPI函数接口编程实例源代码

    《精通Windows API函数接口编程实例源代码》是一个深入学习Windows API编程的重要资源,它涵盖了大量实践案例,旨在帮助开发者熟练掌握API接口的使用技巧。Windows API是微软为开发者提供的一个平台,通过它,程序员...

    精通Windows.API-函数、接口、编程实例.pdf

    13.1 GDI编程接口概述 379 13.1.1 Windows GDI的功能 379 13.1.2 链接库与头文件 380 13.2 设备上下文(DC)、输出操作与图形对象 380 13.2.1 设备上下文类型与关联设备 380 13.2.2 图形对象的作用及与DC的...

    计算机组成与设计:硬件 软件接口

    《计算机组成与设计:硬件/软件接口》作为一本计算机科学领域的经典教材,自第1版面世以来,不断更新,以反映计算机科学领域的最新技术进展。在第3版中,作者David A. Patterson和John L. Hennessy采用了MIPS处理器...

    计算机组成与设计:硬件/软件接口(RISC_V英文原版)

    5. **硬件/软件接口**:讲解如何通过汇编语言编程,以及如何在硬件和操作系统之间建立有效的交互。 6. **RISC-V扩展**:RISC-V架构允许模块化的ISA扩展,使得开发者可以根据需求添加浮点运算、向量处理等功能。 7....

    MVC权限设计-依赖接口编程系列3

    在本文中,我们将深入探讨基于MVC架构的权限设计,特别是在使用依赖接口编程技术的上下文中。MVC(Model-View-Controller)模式是软件工程中广泛采用的设计模式,尤其适用于构建Web应用程序。它将应用逻辑划分为三个...

    C语言与MATLAB接口——编程与实

    语言与MATLAB接口——编程与实例内容简介本书以简洁的语言、丰富的实例系统地介绍了C语言与MATLAB接口函数(称之为:C-MEX函数)的编程方法。用实例详细地介绍了MATLAB中所提供的数据类型在C-MEX函数的编程方法。这些...

    鸡啄米:VS2010-MFC编程入门教程(1-55).docx

    ### VS2010-MFC编程入门教程知识点总结 #### 一、VS2010/MFC开发环境 - **前言**: - **MFC简介**:Microsoft Foundation Classes (MFC) 是一套用于Windows应用程序开发的C++类库。 - **VS2010简介**:Visual ...

    图片转PDF 编程接口

    最小的图片转pdf编程接口,史上最小 img2pdf 编程接口,支持各种语言(VC,VB,PB,JAVA,delphi,python等) 支持各种图片转PDF,而且生成的PDF非常小, 支持对各种图片的预处理(支持图片的合并,拼接,格式转换,加补白,...

    《竹林蹊径——深入浅出Windows内核驱动开发》

    这是《竹林蹊径--深入浅出Windows内核驱动开发》的三章试读内容,算是官方发布吧。内容是:第二章(64位编程)、第六章(内核C++)、附录2(虚拟机调试)。 本书由China-pub首发,目前在当当和淘宝上都有卖。价格低...

    单片机原理及接口技术(C51编程)课件

    C51编程则是针对8051系列单片机的一种高级语言编程方式,使得开发者能够更加方便地进行硬件控制。本课件主要涵盖以下几个方面的知识点: 1. **单片机概述**:单片机是一块集成了微处理器、存储器、输入输出接口等...

    单片机原理及接口技术(C51编程)张毅刚

    《单片机原理及接口技术(C51编程)》是张毅刚教授的经典教材,主要针对想要深入理解和掌握单片机系统设计的读者。在本教程中,张毅刚教授详细介绍了单片机的基本原理、C51编程语言以及各种常见的接口技术,旨在帮助...

    鸡啄米:C++编程入门系列

    大家要是觉得不错,可以下载我整理得另一套资源:VS2010+MFC编程入门,也是鸡啄米的,写得不错,通俗易懂! --------------------------完整目录如下------------------- 第一部分:C++编程概述 鸡啄米:C++编程...

    金融数量分析:基于MATLAB编程.pdf

    其目的在于通过量化方法研究金融市场的运作机制,评估金融资产的价值,并对投资风险进行管理。MATLAB(Matrix Laboratory的缩写),作为一款强大的数学计算软件,它拥有广泛的数学函数库,以及丰富的算法工具箱,...

    候捷老师的深入浅出mfc 随书光盘

    《深入浅出MFC》是侯捷老师撰写的一本经典C++编程专著,主要针对Microsoft Foundation Classes(MFC)库进行深入解析。MFC是微软公司提供的一个C++类库,它为Windows应用程序开发提供了丰富的接口,使得开发者能够用...

    VC串口编程之深入浅出

    本文旨在深入浅出地介绍如何利用VC++进行串口编程,并重点解析其中的核心API——`CreateFile`函数及其相关参数。 #### 二、基础知识概述 在开始具体的编程之前,我们需要了解一些关于串口的基础知识: 1. **串口*...

    Unix编程艺术.pdf

    设计是考虑组合,最小立异性为中心 分离原则:这个对组合原则聚合问题做出解偶思想,策略同机制分离,接口与引擎分离。 简洁原则:设计要简洁,尽可能降低复杂度。有一种很好的方式来验证API是否设计良好:如果试着...

Global site tag (gtag.js) - Google Analytics