Java语言深化 - 什么叫面向接口编程[Java编程]
本文“Java语言深化 - 什么叫面向接口编程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在一个面向对象的系统中,系统的各种功效是由许很多多的差别对象合作完成的.在这种情形下,各个对象内部是若何实现自己的对系统计划人员来说就不那么重要了;而各个对象之间的合作关系则成为系统计划的关键.小到差别类之间的通信,大到各模块之间的交互,在系统计划之初都是要侧重考虑的,这也是系统计划的主要工作内容.面向接口编程我想就是指按照这种思惟来编程吧!实际上,在平常工作中,你已经按照接口编程了,只不过假如你没有这方面的意识,那么你只是在被动的实现这一思惟;表目前频繁的抱怨别人改的代码影响了你(接口没有计划到),表目前某个模块的窜改惹起其他模块的大规模调整(模块接口没有很好的计划)等等.
Booch先生那天谈到Interaction Designer,它就是指做这类计划的人,只不过层次更高一些.我想目前我们的软件计划部队中,这类人是最贫乏的人才之一.
非接口编程?是不是就是面向历程的编程思惟?
1.关于接口的理解.
接口从更深层次的理解,应是定义(标准,约束)与实现(名实别离的原则)的别离.
我们在普通实现一个系统的时刻,普通是将定义与实现合为一体,不加别离的,我认为最为理解的系统计划标准应是全部的定义与实现别离,固然这大概对系统中的某些情形有点繁烦.
接口的本身反映了系统计划人员对系统的抽象理解.
接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);
第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);
一个体有大概有多个抽象面.
抽象体与抽象面是有辨别的.
2.计划接口的另一个不可轻忽的因素是接口所处的环境(context,environment),系统论的概念:环境是系统要素所处的空间与外部影响因素的总和.任何接口都是在一定的环境中产生的.因此环境的定义及环境的改变对接口的影响是不容轻忽的,脱离原先的环境,全部的接口将失去原有的意义.
3.按照组件的开辟模子(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可.
面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及办法
面向历程是指,我们考虑问题时,以一个具体的流程(事件历程)为单位,考虑它的实现
接口计划与非接口计划是针对复用技术而言的,与面向对象(历程)不是一个问题
我认为:UML里面所说的interface是协议的另一种说法.并非指com的interface,CORBA的interface,Java的interface,Delphi的interface,人机界面的interface或NIC的interface.
在具体实现中,是可以把UML的interface实现为语言的interface,分布式对象环境的interface或别的什么interface,但就理解UML的interface而言,指的是系统每部份的实现和实现之间,通过interface所肯定的协议来共同工作.
所以我认为,面向interface编程,原意是指面向抽象协议编程,实现者在实现时要严峻按协议来办.也就是Bill Joy同志说的,一边翻rfc,一边写代码的意思.面向对象编程是指面向抽象和具象.抽象和具象是冲突的统一体,不大概只有抽象没有具象.普通晓得抽象的人都懂得这个原理. 但有的人只知具象却不知抽象为什么物.
所以只有interface没有实现,或只有实现而没有interface者是没有效的,反OO的.
所以还是老诚恳实面向对象编程,面向协议编程,大概什么都不面向,老诚恳实编程.
但是我很讨厌谈论这样的术语,不如我们谈谈什么叫面向带领的编程?面向用户的编程?带领和用户有时都很BT,我们就面向BT编程?
以上是“Java语言深化 - 什么叫面向接口编程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |