跳过导航,朗读正文21CN首页

新闻 | 财经 | 汽车 | 房产 | 体育 | 娱乐 | 数码 | 生活 | 女人 | 游戏 | 旅游 | 社区 | 邮件 | VGO | 播客 | 影院

  当前位置:21CN首页 > IT频道 > 软件频道 > 正文  
 
Java语言深入:什么叫面向接口编程
2008-01-09 08:27:22  赛迪网  【 浏览字号:
精彩回顾 手机 | 数码 | 笔记本 | 家电 | 下载
·30秒清除电脑垃圾 使电脑急速如飞 ·最新版QQ2008下载 搞笑FlASH下载
·篮球宝贝的性感家居照 暗访:交楼问题大曝光 ·买家电 到3C特惠场 汽车维修市场黑幕揭秘
·诺基亚N96真机欣赏 不买魅族M8十大充足理由 ·颁奖典礼有奖拿有表演 专题:两厢车导购
搜索更多 Java语言 的资讯 >>>

  作者:autumn_thermal

  在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程我想就是指按照这种思想来编程吧!实际上,在日常工作中,你已经按照接口编程了,只不过如果你没有这方面的意识,那么你只是在被动的实现这一思想;表现在频繁的抱怨别人改的代码影响了你(接口没有设计到),表现在某个模块的改动引起其他模块的大规模调整(模块接口没有很好的设计)等等。

  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高级:深入浅析Java 类型提升约定  2007-12-26 10:14:05
- JavaScript/JS实现标题栏跑马灯  2007-12-21 11:24:41
- 用JavaScript刷新框架子页面的方法  2007-12-21 11:24:09
- JavaScript技巧:让网页自动穿上外套  2007-12-05 19:03:50
- Javascript 检测网速的方法和应用  2007-11-26 10:04:11
21CNIT最终页推荐
今日热点
手机 数码 家电 软件下载
意想不到的概念笔记本 点兵热门酷睿双核电脑 三大芯片巨头围攻英特尔
下一篇:网络管理员必懂的路由器常识
连锁阴谋
黑暗娇娃
古墓丽影
瞬间激情 | 火车与玫瑰 | 马樱丹 | 超时空战士
| 黑帮太保 | 外星帝国 | 天国车站 | 明明
 点播更多    

无限正义
心不再遥远
天使在线
心不再遥远 | 东方母亲 | 广州教父
天使在线 | 鸦片战争演义 | 天下有情之甜蜜蜜
 点播更多    
 
 
资讯推介

T61与R61拆解对比

夏普WILLCOM 03图赏
·三大芯片巨头围攻英特尔
·AMD美洲狮Intel迅驰2笔记
·4999元热卖双核笔记本
·索尼爱立信Z780手机评测
·首批TD手机销量调查
·高性价比全手动DC选购
·四大品牌超级长焦选谁
·两千元以下超值DC推荐
精彩视频

林志玲硕乳下垂至肚脐
林志玲硕乳下垂至肚脐

实拍咪咪上下跳动
实拍咪咪上下跳动
·美女校园惨遭扒衣
·蔡依林现场侮辱颁奖典礼
·日本妇女卢沟桥下跪谢罪
·小日本太猥琐了
好书推荐[免费]
·[游戏]网游之亵渎
·[都市]流氓记者
·[黑道]官场迷情
·[历史]逆天吴应熊
·[都市]欲医天下
·[都市]我们是传奇
·[女性]巅凤倒龙
·[玄幻]炼狱法则
·[灵异]极品男的艳遇生活
·[都市]我的天师女友
社区贴图
最漂亮“捞藻MM”
最漂亮“捞藻MM”
河南信阳“最牛局处级别墅群”
河南信阳"最牛局处级别墅群"
·21CN社区上多了的后果
·喜欢上了80后美女老板
·毕业,让我们关上宿舍的门
·这些LOGO实在太雷人
·旧村改造殴打村民事件
·最“犯贱”的十首情歌
·台湾名模身材正!
·这个车模太像林志玲
宽频影院
连锁阴谋
连锁阴谋
巨齿绿湖巨鳄
巨齿绿湖巨鳄
超越惊险
超越惊险
 
公司简介  |  广告服务  |  网站导航  |  合作伙伴  |  诚征代理  |  联系我们