zoukankan      html  css  js  c++  java
  • 关于面向构件和EOS的一些思考-软件开发和传统行业应该怎么对比

    关于面向构件和EOS的一些思考

    二,软件开发和传统行业应该怎么对比

            普元很喜欢把软件开发同传统产业进行类比,在接口问题上,我们也来看看传统的机械产业有没有类似的概念吧。螺丝和螺帽是我们最常见的两种构件,也是大规模工业化生产机械装置的基础,那么螺丝和螺帽的接口是不是宽松和自适应的呢?不是!他们是强耦合的接口,而且我们有上百万中不同规格的螺纹规格,或者说接口,每一种都定义的非常精确和有针对性。我们还有不计其数的齿轮的规格,有多少个齿轮可以用其他型号的代替呢?很少。当然机械装置中也有弱耦合,比如胶水、塑料、树脂。但是有没有利用弱耦合的结构来大规模生产机械装置的呢?我一时间想不出这样的例子。

            类比得出的结论是,如果我们要学习传统的机械产业,我们应该定制上百万种严格的强耦合接口标准,然后大量的厂商按照标准生产上百万种构件。看起来好像构件时代离我们还有点遥远哦。不过也未必,类比得出的另一个结果是,用EOS这样松耦合的构件来构造软件,就象用万能胶水粘到一起的一组齿轮、轴承和螺丝螺帽来做变速箱。

          我们不要理所当然的认为这样的变速箱没有用,这正是软件和机械的不同。这样一个变速箱只要设计合理、能够承载所需要的负荷,他是真的能够一直工作下去的,我们不需要面对金属疲劳、胶水老化和磨损这样的问题。也许这正是面向构件开发的实质吧:能用胶水粘到一起的东西,就不要用螺丝。

            是的,我的类比存在问题。再写上面这些文字的时候我脑子里面反复想起Jack Reecves的名言:源码就是设计,而软件的生产过程仅仅是廉价得几乎免费的构建过程。不错,我们可以机械化、自动化的生产大批的汽车、冰箱,可是我们还可以更容易的构建软件的拷贝。我们在抱怨软件的生产不能象汽车那样一台接一台的出厂,可是汽车厂又何尝能够一台接一台的批量设计汽车呢?

        昨晚码字之前喝了点红酒,思路好像不是太清晰,有点自相矛盾的倾向……

  • 相关阅读:
    [py]str list切片-去除字符串首尾空格-递归思想
    [py]python面向对象的str getattr特殊方法
    [py]python多态-动态语言的鸭子类型
    [py]py2自带Queue模块实现了3类队列
    【Unity技巧】制作一个简单的NPC
    java7 新特性 总结版
    【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎
    【Unity Shaders】Transparency —— 使用alpha通道创建透明效果
    记录最近的几个bug
    理解WebKit和Chromium: 调试Android系统上的Chromium
  • 原文地址:https://www.cnblogs.com/stonehuang/p/6603229.html
Copyright © 2011-2022 走看看