其实吧,接口这东西。。我举个例子来说,你如果正在写业务代码,考虑着业务逻辑,这时候突然需要访问底层与业务无关的东西,而这个底层的东西你又得花很多时间去思考。这样你就得中断对业务逻辑的思考,跳到底层实现中去,实现完底层这么复杂的一个东西之后,也许你又得从头开始思考业务逻辑,思考刚才做到哪了。
其实这是面向过程的思考方式了——坏处就是一次需要考虑太多东西,思维还做了2次(或者更多次)跳跃。
如果有接口这么个东西,你就可以先不考虑底层的实现,写个接口,直接调用这个接口,继续业务逻辑的编写,完了之后再去实现这个接口,这样
思维就不用那么跳跃,代码质量应该会相对高一些,写程序也轻松些。这就是我理解的所谓“分离关注点”。
再想想生活中的东西,其实也很好理解,比如说usb接口,生产主板的只要做出这么个接口,不去理睬usb的另一端具体的实现(比如可以有u盘呀、键盘呀、数码相机等等),专注于主板这个领域,那么他的产品质量应该会相对高些吧,因为专业,所以XX。。。
接口其实就是个规范,定制好这个规范后,比如USB的规范:2根数据线、2根电源线(其实我也不是很清楚USB具体的规范,这里只是打个比方),然后需要与usb连接的数据设备产商按着这个规范来做就ok了。
不说硬件领域,回头看编程领域,在写业务逻辑的时候,定制了底层的接口(其实就是定制你需要调用的方法,比如说一个
嘎嘎叫的方法——
静态语言如果不另外定义接口,这时候像Eclipse这样的编译器就会出现红杠杠,编译不通过,而动态语言就不会,所以我说动态语言有自然而然的接口,因为它不需要编译),然后放着不管它,等写完业务逻辑,再去考虑底层,或者也可以把底层交给更专业的人实现。
至于“切换不同的实现”,我觉得属于接口的
副作用吧。
分享到:
相关推荐
Java语言:什么叫面向接口编程 非接口编程?是不是就是面向过程的编程思想? 1.关于接口的理解。 接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。 我们在一般实现一个系统的...
中文《SCSI 总线和IDE接口:协议、应用和编程》第二版
《精通WindowsAPI:函数、接口、编程实例》全书共18章,分为3个部分,第1部分(第1章~第3章)介绍Windows程序设计基础;第2部分(第4章~第17章)按照程序设计的各个方面进行划分,包括文件系统、内存管理、进程与线程、...
第5章:Windows_应用程序编程接口API第5章:Windows_应用程序编程接口API第5章:Windows_应用程序编程接口API第5章:Windows_应用程序编程接口API第5章:Windows_应用程序编程接口API第5章:Windows_应用程序编程...
针对接口编程的使能工具
面向接口编程就是将类与类之间的关系提升到一个更高的抽象层次;面向接口编程是一种境界,作者将为大家作一个入门介绍,希望对你有帮助。
针对接口编程,实现设计模式的鸭子模式,代码有很好的灵活性,并可进行好的封装
SCSI 总线和IDE接口:协议、应用和编程
Windows7是微软公司推出的最新的桌面操作系统,《Windows API开发详解:函数、接口、...学习《Windows API开发详解:函数、接口、编程实例》,可以使对计算机“一点都不懂”的读者轻松掌握Windows7的基本知识和基本操作。
精通Windows_API:函数、接口、编程实例
[深入浅出:使用Python编程][深入浅出:使用Python编程][深入浅出:使用Python编程][深入浅出:使用Python编程]
面向接口编程的例子,生活中的实例来说明接口的概念,对理解java接口有很大帮助!
USB接口编程 USB接口编程USB接口编程USB接口编程USB接口编程
Windows API开发详解 函数、接口、编程实例,2011年人民邮电
微机原理:第七章 可编程接口芯片.ppt
微机系统与接口:第7章 可编程接口芯片及其应用.ppt
微机系统与接口:第七章 可编程接口芯片及其应用.ppt
计算机原理:第7章 可编程接口芯片2014.pptx
微机系统与接口:第七章 可编程接口芯片及其应用1.ppt