用契约的方式定义层次之间的关系 服务之间的调用用契约来固定,其实不难理解,这其实就是市场经济的本质。最早理论基础要去卢梭的《社会契约论》来寻找,西方经济体系就是基于契约架构起来的。具体到SOA的设计哲学里面,Design By Contract的目的完成了服务之间调用标准,也为未来遍及整个IT系统的服务网络提供了基础。Google与其商业客户之间的靠点击来计算收入的方式就是个参考的例子。以后的服务之间的调用,如同市场上的交易,可能是按次收费的,这样才会把服务的生产方调动起来。这种模式,在汽车这样的传统行业早已通行百年,每种特定的零件都可以有很多的供应商,只要基于标准的契约来设计,安装到整车上都可以保证整体的功能。软件行业的奇特之处在于,尽管软件行业在普通人看来是个高科技,但这个行业,在基于标准的生产方式上,远远不如离散制造业。这个行业充满了孤胆英雄,绿林大侠,自我为中心的散漫气质,在中国还有一种诗意的浪漫情怀。在软件行业内部的人,都觉得自己的江湖很有武侠境界的气质。现在SOA要讲契约,讲标准,讲交换。程序员出身的人也许会说,还不如自己开发一个。这也许是Design By Contract面临的最大文化难题。