主页 |  社区 |  科技 |  开发 |  网络 |  运营 |  手机 |  电脑 |  认证 |  系统 |  ProgNet |  讨论区 |  搜索 |  注册 |  RSS订阅








温馨提示
  • 点击上方“当前位置”后面的链接,可以浏览更详细的或者与之相关的内容。
  • 即刻注册 Phontol.com 网站通行证,在本站任何一站点登陆后,都不需要再次重复注册和登陆,即可享有所有站点功能和服务,快去注册你的通行证,体验一站式服务吧!
  • Phontol.com 为大家开通了一个综合讨论区,快去共同分享你我的快乐吧! 在那里,大家可以畅所欲言,还可以粘贴你的个人写真集哦。现在就去»讨论区看看


资讯阅览
 
资讯主题:

关于什么叫面向接口编程


发布日期:2008/7/29 12:59:50
人气指数:95

选择内容区背景色:灰色(默认色) 墨绿 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白
(字体大小: 中(默认)  | 逐渐变大 逐渐变小
【语言/語言/Language/언어/言語:简体中文 | 繁體中文 | English | 한국어 | 日本語

正常浏览 | 发布资讯 | 评论 | 置顶 | 打印



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

Booch先生那天谈到Interaction Designer,它就是指做这类设计的人,只不过层次更高一些。Phontol.com我想目前我们的软件设计队伍中,这类人是最缺乏的人才之一。Phontol.com

非接口编程?是不是就是面向过程的编程思想?

1.关于接口的理解。Phontol.com

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

我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。Phontol.com

接口的本身反映了系统设计人员对系统的抽象理解。Phontol.com

接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class);

第二类是对一个体某一方面的抽象,即形成一个抽象面(interface);

一个体有可能有多个抽象面。Phontol.com

抽象体与抽象面是有区别的。Phontol.com

2.设计接口的另一个不可忽视的因素是接口所处的环境(context,environment),系统论的观点:环境是系统要素所处的空间与外部影响因素的总和。Phontol.com任何接口都是在一定的环境中产生的。Phontol.com因此环境的定义及环境的变化对接口的影响是不容忽视的,脱离原先的环境,所有的接口将失去原有的意义。Phontol.com

3.按照组件的开发模型(3C),它们三者相辅相成,各司一面,浑然一体,缺一不可。Phontol.com

面向对象是指,我们考虑问题时,以对象为单位,考虑它的属性及方法

面向过程是指,我们考虑问题时,以一个具体的流程(事务过程)为单位,考虑它的实现

接口设计与非接口设计是针对复用技术而言的,与面向对象(过程)不是一个问题

我认为:UML里面所说的interface是协议的另一种说法。Phontol.com并不是指com的interface,CORBA的interface,Java的interface,Delphi的interface,人机界面的interface或NIC的interface。Phontol.com

在具体实现中,是可以把UML的interface实现为语言的interface,分布式对象环境的interface或其它什么interface,但就理解UML的interface而言,指的是系统每部分的实现和实现之间,通过interface所确定的协议来共同工作。Phontol.com

所以我认为,面向interface编程,原意是指面向抽象协议编程,实现者在实现时要严格按协议来办。Phontol.com也就是Bill Joy同志说的,一边翻rfc,一边写代码的意思。Phontol.com面向对象编程是指面向抽象和具象。Phontol.com抽象和具象是矛盾的统一体,不可能只有抽象没有具象。Phontol.com一般懂得抽象的人都明白这个道理。Phontol.com 但有的人只知具象却不知抽象为何物。Phontol.com

所以只有interface没有实现,或只有实现而没有interface者是没有用的,反OO的。Phontol.com

所以还是老老实实面向对象编程,面向协议编程,或者什么都不面向,老老实实编程。Phontol.com

但是我很讨厌讨论这样的术语,不如我们谈谈什么叫面向领导的编程?面向用户的编程?领导和用户有时都很BT,我们就面向BT编程?

www.Phontol.com

来源:收集整理于互联网




您是不是没有看到自己所需要的信息呢?来,在下面输入您要搜索的关键字,点击搜索试试看。
在右侧文字框输入关键字:


热门栏目导航
国内资讯 | .NET | 国外互联网 | 手机资讯 | 国内互联网 | ASP.NET | 国际资讯 | 国外科技 | 国内电信 | 国内科技 | 娱乐 | SQL Server | 汽车资讯 | Windows Vista | 中国足球 | 国外电信 | 国外足球 | NBA | 国际IT业界 | 路由技术 | Word | Photoshop | Excel | 网络管理 | 网络安全 | 篮球 | 网络知识 | ERP开发 | 国内军事资讯 | VC/C++ | Html | 网络方案 | ASP | 站长之经验心得 | 手机技巧 | 局域网 | CSS+DIV | 国际军事资讯 | 交换技术 | AJAX 相关 | Windows Server 2003 | DreamWeaver | 电脑应用 | 3DS Max | Javascript | 大陆娱乐资讯 | 产业新闻 | 站长之推广策划 | Cisco认证 | Linux | 硬件知识 | 网管技术 | PHP | 港台娱乐资讯 | 电脑病毒查杀 | VMware | Photoshop | 网络专题技术 | 音乐手机 | 软件应用问答 | XML | Firework | 智能手机 | 拍照手机 | Flash | 网络应用技巧 | 软件测试 | 华为网络 | 电脑入门资料 | 站长之SEO | Maya | PPT/PowerPoint | 操作系统 | C# | 微软认证 | Windows XP | 电脑故障综合 | Web服务器 | 全国等级考试 | 市场动态 | 欧美娱乐资讯 | 其它图形软件 | 技巧知识 | 防范措施 | CSS教程 | Access | Exchange Server | 站长之休闲 | Wps Office | IBM DB2 | 家常菜谱 | 服务器综合集锦 | 注册表教程 | 显示器故障 | 站长之网赚 | 主板故障 | 手机购机指南 | 经验技巧 | 操作系统综合 | 电脑CPU | 游戏开发 | Outlook | 硬盘检测 | 系统进程 | 电脑内存 | JAVA基础 | QQ技巧 | ORACLE认证 | 项目管理 | Authorware | JavaScript | Java认证 | JAVA技巧 | 黑客攻防技术 | QQ游戏 | AutoCAD | BIOS | FTP服务器 | 站长之访谈 | 手机BUG | JSP | 组网技术 | 声卡显卡 | Virtual PC | Illustrator | CorelDraw | VPN | 视频处理 | Office | Linux技术

特别声明和提示
  • Phontol.com 和网页作者无关,不对网页的内容负责。
  • 如有任何异议,请参见版权声明/免责声明部分。
  • 双击鼠标左键可以自动滚屏,以方便您的阅读;单击鼠标左键可停止滚屏。

 
图片资讯


最新资讯


热门资讯


讨论区 - 最新话题


热门搜索




声明:非本站原创内容和本站转载内容,其版权所有权属于原版权持有人所有。
若本网站侵犯了您的权益,请通知我们,我们会立即纠正。




申请链接 | 友情链接 | 联系我们 | 意见反馈 | 使用条款 | 隐私权声明 | 版权声明

      Copyright © 2008 Phontol. All Rights Reserved. 京ICP备07004242号