1.4.2 软件组件的特性
软件组件不是买来就可以用,新买来的组件必须容易修正(Easy-to-change),定制化(Customization)之后融入系统架构(Architecture),然后装配上去,或替换掉旧组件。未来若能继续新陈代谢,则系统就会永葆青春,这就是活的软件。欲得到容易改变的组件,就必须用心设计它!其基本方法是:
● 依据改变的原因(Source of change)的不同而将组件切分开来。例如,手电筒的电池因电力用尽而变更换新,灯泡因烧掉而换新。
● 依据改变的频率(Frequency of change)不同而分成不同的组件。例如,电池通常比手电筒换新的频率高。
● 将组件本身分为:稳定的外观接口(Interface)与善变的内部实现(Implementation)。例如,电池有固定接口,但电池内部构造各品牌皆不尽相同。
● Client组件A的设计者,脑筋只思考到Server组件B的接口(What),但不必知道组件B的实现(How to)细节内容。例如,手电筒设计人只须知道电池的接口,不必知道电池的内部组成结构。
如此能达到如下设计目标:
● 达到“不知(实现)而亦能用”的境界。
就像您不知道Intel CPU的内部设计,只知道其接口就能使用。请想一想,Intel CPU内有Intel Design Inside。内部实现细节价值连城,可以让别人拥有CPU (也知道CPU接口用法),但不能让别人拥有CPU内部的“设计”。由于客人不知道内部设计,CPU就能不断翻新其“设计”,推出新版CPU,甚至提供新的接口,展现新的用法。于是CPU具有活力,也带给电脑活力和生命力。
● 达到“柔情似水”的境界。
这就是Software IC与Hardware IC的区别了。就拿CPU为例一个CPU在它的生命周期(Lifecycle)里,几乎不会去改变CPU内部的设计。但是,Software IC如监控汽车速度中的Car Monitor组件,在其生命周期里,需要随硬件组件的换新而即时更改,才能继续提供监控车速的功能。
Software IC设计需要包容顾客“意外”的需求,意外的变化是软件组件设计必须思考的,而能轻易吸收这种意外变动的Software IC才是“柔软”的。一旦有了柔软的Software IC,相关的Hardware IC设计就轻松许多了,只需充分考虑各种“例外”状况就行了,不需要特别把它做软。
能兼具上述两项特性的软件,能顺畅地随市场需求的变化而更改组件内部设计或调换整个组件,也就是能新陈代谢,才是有活力、生命力的软件。
| 回书目 上一节 下一节 |
|
· 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技术 |
||