关于面向构件和EOS的一些思考-软件开发和传统行业应该怎么对比
2005-06-21 09:14
1066 查看
关于面向构件和EOS的一些思考二,软件开发和传统行业应该怎么对比
普元很喜欢把软件开发同传统产业进行类比,在接口问题上,我们也来看看传统的机械产业有没有类似的概念吧。螺丝和螺帽是我们最常见的两种构件,也是大规模工业化生产机械装置的基础,那么螺丝和螺帽的接口是不是宽松和自适应的呢?不是!他们是强耦合的接口,而且我们有上百万中不同规格的螺纹规格,或者说接口,每一种都定义的非常精确和有针对性。我们还有不计其数的齿轮的规格,有多少个齿轮可以用其他型号的代替呢?很少。当然机械装置中也有弱耦合,比如胶水、塑料、树脂。但是有没有利用弱耦合的结构来大规模生产机械装置的呢?我一时间想不出这样的例子。
类比得出的结论是,如果我们要学习传统的机械产业,我们应该定制上百万种严格的强耦合接口标准,然后大量的厂商按照标准生产上百万种构件。看起来好像构件时代离我们还有点遥远哦。不过也未必,类比得出的另一个结果是,用EOS这样松耦合的构件来构造软件,就象用万能胶水粘到一起的一组齿轮、轴承和螺丝螺帽来做变速箱。
我们不要理所当然的认为这样的变速箱没有用,这正是软件和机械的不同。这样一个变速箱只要设计合理、能够承载所需要的负荷,他是真的能够一直工作下去的,我们不需要面对金属疲劳、胶水老化和磨损这样的问题。也许这正是面向构件开发的实质吧:能用胶水粘到一起的东西,就不要用螺丝。
是的,我的类比存在问题。再写上面这些文字的时候我脑子里面反复想起Jack Reecves的名言:源码就是设计,而软件的生产过程仅仅是廉价得几乎免费的构建过程。不错,我们可以机械化、自动化的生产大批的汽车、冰箱,可是我们还可以更容易的构建软件的拷贝。我们在抱怨软件的生产不能象汽车那样一台接一台的出厂,可是汽车厂又何尝能够一台接一台的批量设计汽车呢?
昨晚码字之前喝了点红酒,思路好像不是太清晰,有点自相矛盾的倾向……
普元很喜欢把软件开发同传统产业进行类比,在接口问题上,我们也来看看传统的机械产业有没有类似的概念吧。螺丝和螺帽是我们最常见的两种构件,也是大规模工业化生产机械装置的基础,那么螺丝和螺帽的接口是不是宽松和自适应的呢?不是!他们是强耦合的接口,而且我们有上百万中不同规格的螺纹规格,或者说接口,每一种都定义的非常精确和有针对性。我们还有不计其数的齿轮的规格,有多少个齿轮可以用其他型号的代替呢?很少。当然机械装置中也有弱耦合,比如胶水、塑料、树脂。但是有没有利用弱耦合的结构来大规模生产机械装置的呢?我一时间想不出这样的例子。
类比得出的结论是,如果我们要学习传统的机械产业,我们应该定制上百万种严格的强耦合接口标准,然后大量的厂商按照标准生产上百万种构件。看起来好像构件时代离我们还有点遥远哦。不过也未必,类比得出的另一个结果是,用EOS这样松耦合的构件来构造软件,就象用万能胶水粘到一起的一组齿轮、轴承和螺丝螺帽来做变速箱。
我们不要理所当然的认为这样的变速箱没有用,这正是软件和机械的不同。这样一个变速箱只要设计合理、能够承载所需要的负荷,他是真的能够一直工作下去的,我们不需要面对金属疲劳、胶水老化和磨损这样的问题。也许这正是面向构件开发的实质吧:能用胶水粘到一起的东西,就不要用螺丝。
是的,我的类比存在问题。再写上面这些文字的时候我脑子里面反复想起Jack Reecves的名言:源码就是设计,而软件的生产过程仅仅是廉价得几乎免费的构建过程。不错,我们可以机械化、自动化的生产大批的汽车、冰箱,可是我们还可以更容易的构建软件的拷贝。我们在抱怨软件的生产不能象汽车那样一台接一台的出厂,可是汽车厂又何尝能够一台接一台的批量设计汽车呢?
昨晚码字之前喝了点红酒,思路好像不是太清晰,有点自相矛盾的倾向……
相关文章推荐
- 关于面向构件和EOS的一些思考-xml和元数据解决了接口脆弱性问题吗?
- 关于软件开发团队的一些思考
- 开发平台软件中关于第三方库管理的一些思考
- 转:关于软件开发的一些常识和思考
- 关于软件开发团队的一些思考
- 关于软件开发团队的一些思考
- 关于软件开发团队的一些思考
- 开发平台软件中关于第三方库管理的一些思考
- 关于软件开发团队的一些思考
- [转]关于项目管理、软件开发的一些思考
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 关于AgileEAS.NET的一些补充说明
- 关于软件开发的一些常识和思考
- 关于软件开发和模块接口设计之一些思考
- 关于软件开发团队的一些思考
- 关于软件开发的一些常识和思考
- 关于软件开发团队的一些思考
- 关于软件开发的一些常识和思考
- 关于软件开发的一些常识和思考
- 关于软件开发精品意识的一些思考
- 关于嵌入式软件开发的一些思考