约定大于配置

来源:互联网 发布:ubuntu离线安装包下载 编辑:程序博客网 时间:2024/04/28 14:31

规范实现,是一种形成。

面向对象设计中有一条原则叫做依赖倒置,意思就是要依赖抽象,而不是依赖具体。这让我联想到了"抽象/具体二分法"这个命题,当然我只能感慨,真TMD 伟大。

小了说,接口/实现是二分法的一种体现,这种做法已经为我们设计时解耦合做出了巨大的贡献。

当然,真正伟大的还是规范/实现这对玩意儿。

首先讲讲我们熟悉的Java,

JVM 本身是一组规范(当然很多地方也用JVM 来表示JVM 的实现),而其实现有IBM JVM,SUN Hotspot JVM,Oracle JRocket 等。

J2EE 也是一组规范,其实现有IBM Websphere,Oracle Weblogic,Redhat Jboss... 想想Weblogic 和Jboss 当初都是SUN 公司里面一个跑出来一个大牛,搞出一个J2EE 实现,最终成就大业,如今SUN 已是昨日黄花,不禁唏嘘。当然我相信Java 是不会倒下的。

再说说我们的操作系统,

POSIX 标准簇应该如雷贯耳吧,UNIX 和各式Linux 都是它的实现。

再说说我们的数据库,

SQL 规范应该也是如雷贯耳吧,其实现就不得了了,DB2,Oracle,MS SQL... ...

 

这本身还不足以让人感慨,最重要的是,上面讲了这么多的实现,如果大家不是遵循同样的规范,很难想象现在的世界是个什么样子,可能软件开发人员一半的时间都要去学工具了。而现在,相对来说,大家还是活的很惬意的,

  • 用Java 写出来的东西真的很容易移植
  • 掌握一种操作系统后,要转换一种系统,基本没什么障碍
  • 掌握一种数据库,要转换另外一种数据库,至少在开发层面上学习曲线还是可以接受的(管理就不一定了,哈哈)

想想这些为人类节省了多少的智力成本啊,伟大都不足以形容... ...

0 0