1.4 认识软件组件
1.4.1 何谓组件
组件(Component)是“部件”或“零组件”之意。就像我们日常生活中常用到的汽车部件或电脑部件,这些部件皆是Component。例如,我们的手指就是人体的组件(部件)了,假如缺一个指头,则人体就不再是完整的实体了,所以手指是构成完整人体的基本组成部分,是不可或缺的。Component一词只是用来指明整体(Whole)与部分(Part)之间的关系,例如,一棵树是个整体,而树干是一棵树的组成部分,所以树干是树的组件。同理,一座公园是个整体,而公园里的树则是公园的组件,如图1-3所示。
因此,Component可泛指整体内的任何组成部分,这个名词本身并不表达出其内部的结构或特性,即除了表示出整体/部分的关系之外,其本身并未含有任何其他意义。所以Jerrold Grochow说道(Gro97):

图1-3 整体与部分之间的关系
“'Component' is a term that takes its specific meaning from the context in which it is used rather than being imbued with inherent meaning in and of itself.”
(“组件”一词是由其所处的环境根据这组件的用途而赋予它特殊的意义,而不是由字面本身可看出其意义的。)
若要对其做严肃的定义,韦氏大字典(Webster)的定义如下:
“A component is a constituent part.”
(一个组件就是一个基本的组成部分。)
其中,constituent这个词的定义是:
“serving to form, compose, or make up a unit or whole.”
(用来形成、组成或构成一个单元或整体。)
例如,我们说一支笔的笔心,此时表明笔心是这支笔的组件,也由整体—— 一支笔,而得知这笔心(部分)的用途和角色。换句话说,当您只说“这是一支笔的组件”时,强调的是这组件是一支笔的组成部分,如此而已,并不说明组件的特性。当您再说,这组件可做为笔心,此时表明了该组件在整体中的用途和角色了。但仍不说明笔心的特性——材料或外形等。
也就是因为Component一词只表明其与整体的组合(Composition)关系,以及其在整体中的用途及角色而已,并未指明某些特定的组件构造或材料等,因而留下了“虚”的部分,让这整体可依其未来环境的需要而以不同构造的实际组件来填补这虚的部分,使得整体成为实际的东西,能在环境里发挥其用途和角色。
例如,一部汽车的设计师,会在其设计图中表明,这车子应有6 个轮胎(子),这已表明轮胎组件的用途和角色了,仅此就足够了,通常不必再详细描述轮胎的材料或其他特性了。因而留下了空间可让后续的设计师或工程师能视车子将来的使用环境(如上雪山或海滩)而更换不同对象的轮胎,使得整体(整部车子)得以在不同环境中表现其多样化和多功能的一面。
因此,Component一词有其明确的一面——强调整体/部分的关系,也有其朦胧暧昧的一面—— 不表明组件本身的部件及内部特性,这种虚实相依,明暗有致的情境正是Component之美的来源,至于如何让一群组件相辅相依,构成一个有韵律的整体,则是专家心中的艺术感觉了。
| 回书目 上一节 下一节 |
|
· C语言之基础自测获奖名.. · Linux服务器架设自测获.. · 边界网关安全防护自测.. · Cisco CCNA最新真题自.. · 我在美联储监管银行 书.. · 我在美联储监管银行 目.. |
· 我在美联储监管银行 前.. · 入侵的艺术 目录 · 入侵的艺术 前言 · 网管员全真面试题自测.. · 子弹的本质—— 形势没.. · 学习大量的词汇—— 对.. |
|
|||
| · 华为、贝恩资本22亿美.. · 入侵防护系统(IPS)初探 · 假期读书充电 · 如何优化IT 控制能耗 · Sun以10亿美元并购开源.. · 操作系统密码恢复专题 · Windows Server 2008 · 2008年IT产业29个预言 |
· SQL Server 2005全解 · Windows系统加固专题 · Windows Home Server .. · 病毒查杀专题 · 802.11n:下一代的无线.. · 反垃圾邮件技术应用 · 运营商封堵非法ADSL共享 · VoIP的安全性探讨 |
||
|
|||
| · VPN技术 · SQL Server 2005全解 · SOA 面向服务架构 · 子网掩码教程 · SQL Server 2005全解 · 三层交换技术专题 · Windows远程桌面应用 · 深入了解PGP加密技术 |
· MySQL数据库备份 · 病毒查杀专题 · VPN技术 · Solaris 10 配置管理 · Linux 基础 · SSL VPN详细知识 · Linux防火墙 · 路由器设置与口令恢复 |
||
|
|||
| · VPN技术 · SQL Server 2005全解 · SQL Server 2005全解 · SOA 面向服务架构 · 子网掩码教程 · 三层交换技术专题 · Windows远程桌面应用 · MySQL数据库备份 |
· 身份认证技术 · 病毒查杀专题 · 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · 常用交换机典型配置 · Linux 集群技术专题 · VPN技术 |
||