伯伯菜园系列 之 “接口”白菜

前言

相信大家对接口是不陌生的,但是你真的理解什么是接口吗?真的能用好吗?我们口口声声说按接口 编程,到底如何接口编程呢?接口编程的意义在哪呢?...对于接口的迷茫,经常在三层结构里面看到的 ,千篇一律的把每一个Dao都写一个接口,每个Service再写一个接口,因为他们看的例子就是这样的,网 上很多例子都是这样的,这就叫按接口编程了?!心里没底,到下次自己写项目自己设计的时候再加上赶 进度怕是没这么勤奋的复制粘贴了,原因还是没有明白接口到底有什么用!甚着感觉接口这玩意就像脱裤 子放屁——多此一举!真的是这样么?那么,接下来我和大家一起来探讨关于接口的种种...

正文

一、什么是接口、接口有什么用

我们先看看别人是怎么说接口的,我收集总结了一下,仅列出以下五种说法:

1.接口的意义在于顶替多重继承。

2.接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口 ,可以更好的管理他们。

3.接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致,使用接口可以使程序更 加清晰和条理化。

4.接口就是定义了一个合同,实现这个接口的类都保证自己符合这个合同要求。

5.接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。

这里我就不评价这几种说法了,下面说说我理解的接口是什么样子的。这里拿电脑里的主板来讲,主 板上有USB总线接口、基本外设接口(用来连接键盘、鼠标、打印机等传统外设)、驱动器接口(用来连 接硬盘驱动器、光盘驱动器和软盘驱动器等)...很眼熟吧!!这些东西都是带接口两字的,我们称之为 硬件接口或接口类型,在翻阅关于这些硬件借口资料的时候你经常会发现这些接口都是由许多有名的公司 如Microsoft、IBM、Intel、Apple等公司共同约定、开发的一种标准!!例如:USB是Compaq、DEC、IBM 、Intel、Microsoft、NEC(日本)、Nothern Telecom(加拿大)等7家公司与1994年11月联合开发的计算机 串行接口总线标准;IEEE 1394是1986年由Apple公司和TI(德克萨克仪器)公司开发的高速串行接口标准, 命名为“火线”(Fire Wire)等。那么为什么要制定这些标准呢?包括现在都在争的3G标准,更有专门的 标准组织和标准委员会。全世界硬件厂商多不胜数,随便列几个:

CPU:     Intel、AMD

内存:     金士顿、黑金刚、宇瞻

硬盘:     日立、希捷

时间: 2024-11-03 11:56:04

伯伯菜园系列 之 “接口”白菜的相关文章

Web API系列(二)接口安全和参数校验

以前简单介绍过web api 的设计,但是还是有很多朋友问我,如何合理的设计和实现web api.比如,接口安全,异常处理,统一数据返回等问题.所以有必要系统的总结总结 web api 的设计和实现.由于前面已经介绍过web api 的参数和返回格式的设计,<Web API系列(一)设计经验与总结>.这次,就来讲讲接口安全.   由于Web API是基于互联网的应用,因此安全性要远比在本地访问数据库的要严格的多,一般通用的做法,是采用几步来保证接口和数据安全: 1.首先一个是基于CA证书的HT

Web API系列(三)统一异常处理

前面讲了webapi的安全验证和参数安全,不清楚的朋友,可以看看前面的文章,<Web API系列(二)接口安全和参数校验>,本文主要介绍Web API异常结果的处理.作为内部或者是对外提供的统一webapi 接口,统一的异常处理,把正确的信息返回给调用者很重要.这样可以让接口开发人员,了解具体的原因所在,这样可以得到有效的错误处理. 需要注意的是,webapi异常的状态码,尽量不要和业务状态码混淆.可以分为两个不同的字段,或者是状态码的规则不同.相关返回数据的格式,可以参考,前面的文章. 1.

Z170主板怎么安装win7系统?

  Intel今年推出了全新Skylake架构六代处理器,需要搭载100系列全新接口主板.由于这一代产品在USB接口的主控设计上进行了较大的变动,导致Z170主板电脑无法正常安装Win7操作系统.近期各大主板厂商也在积极的尝试该问题的解决方案,以下是Z170主板完美安装Win7教程.如果您还不知道Z170主板怎么安装win7的话,本教程将给你提供帮助. Z170主板U盘安装win7失败的原因: 在Z170平台安装Win7系统困难的原因主要是Skylake项比早期的规划方案,增加了对USB 3.1

设备与驱动的关系以及设备号、设备文件

Linux设备分类Linux下的设备通常分为三类,字符设备,块设备和网络设备. 字符设备 一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的.Linux下的大多设备都是字符设备.应用程序是通过字符设备节点来访问字符设备的.设备节点一般都由mknod命令都创建在/dev目录下,下面的例子显示了串口设备的设备节点.字符设备文件的第一个标志是前面的"c"标志. root#ls -l /dev/ttyS[0-3

odb 2.0.0发布 C++对象关系映射系统

ODB 是一个开放源码.跨平台和跨数据库的C++++对象关系映射(ORM)系统.它可以将C++对象到http://www.aliyun.com/zixun/aggregation/22.html">关系数据库中,而无需手动编写的任何映射代码的表格.列数或SQL. ODB编译器自动生成的持久化类和数据库之间的执行转换,它是一个真正的C++编译器,可以生成由C++编译器轮流的可移植的 C++ 进行编译. ODB不是一个框架,它不会命令你如何写应用程序,但它可以按照适合你风格和体系结构设计的C+

JavaScript利用HTML DOM进行文档操作的方法_javascript技巧

HTML DOM 树 一.DOM简介 DOM是W3C制定的用于访问诸如XML和XHTML等结构化文档的标准. W3C文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口 核心DOM:用于任何结构化文档的标准模型 XML DOM:用于XML文档的标准模型.是用于获取.更改.添加或删除XML元素的标准. HTML DOM: 用于HTML文档的标准模型.定义了所有HTML元素的对象和属性,以及访问它们的方法(接口). 二.DOM节点 根据DOM规

谁愿意用传媒的思维来挑逗电商的模式

近期,在投资领域里,常常有听闻这样的一句话"投资人比项目多",难道这是中国经济要腾飞的信号吗?看着土豆优酷.去哪儿.58等一系列的上市,接着又来了一堆的并购案,91手机助手.糯米.高德地图.更甚于火热多年的新浪微博也不例外.激动啊,相信这种激动不比当年在房地产捞金的感觉差,有点像洗脚屋发展成了VIP高级会所的蠢蠢欲动. 一旦说起电商投资,大家就先要哀叹一下,"又是烧钱的主".这观念也真的一点都没有错,把投资人都血洗了N把的电商项目不计其数.难道投资人连哀叹的权利都没

专注能力开放初心不改 电信欲围绕五大生态构建开放新生态

日前,在刚刚结束的CSDN"C-Tech Awards 2016 最具价值大奖"评选活动中,天翼开放平台喜获"2016最具价值奖".此次评选以"彰显技术力量,成就创新未来"为主题,旨在表彰在过去一年中对推动互联网行业发展做出杰出贡献的企业和产品,而其中的"最具价值大奖"花落中国电信天翼开放平台,不仅代表了天翼开放平台在运营商能力开放领域的领先地位,更代表了在互联网+持续火热的大背景下,各细分市场.特别是广大创业者.开发者对天翼

Javascript编程语言和DOM接口系列教程(1)

Hello,今天开始彬Go将以系列教程的方式为大家讲解Javascript编程语言和DOM接口,本篇教程为该系列的第一部分. 虽然现在一些js框架诸如jQuery.Prototype和MooTools能提高我们的前端开发效率而且很好的解决了浏览器兼容性问题,但我们仍要打好javascript技术基础.Javascript DOM 控制系列教程将告诉你你需要了解的javascript和文档对象模型(DOM)的本质. 引言 JavaScript JavsScript是可以在各种不同环境下使用的动态的