“融化奶酪效应”的处理
2007-02-23 12:21:04 来源:WEB开发网范围
我们不想把焦点仅局限于互联网范畴内的交互服务,在那里各种组织会根据各自的需要对合同进行随意的改动。我们接触到的大多数人,媒体和大型机构组织都希望了解如何才能制定出适合自身的,可以与时俱进的解决方案。在很多情况下,设计服务的机构都会拥有两个终端,它们至少会对这两方—服务使用者和服务提供者产生影响。我们希望可以帮助这些组织里的工程师和设计者们应付并尽量减少对其设计进行的改动时的复杂度。
在这个系列文章中,我们探讨了如何在一个面向服务的环境中对一个复杂系统进行变更的问题,并会就如何在媒体和大型组织中设计并构建服务给出指导。我们并非要试图为世界范围内的各种消费需要解决设计结构和协议的复杂性问题。这个系列文章并非什么万灵丹,但是它可以向您提供一些有用的指导,帮助您设计出更加灵活应变的解决方案。我们将从一个高层次的角度来审视这个问题,然后逐层深入,给出具体的结构和代码。为了配合这个系列文章,我们还发布了一些工具软件来支持我们的建议,我们希望这些工具可以融入到WSCF中。
融化的奶酪
不久前,我们摒弃了声名狼藉的意大利拉面式的过程化编程方式,从GOTO指令泛滥的“跳转纪元”进入了面向对象的世界,我称之为小方饺式的编程方式。这种编程方式的一大优点就是你对模块内部的改动不会对它的外部造成影响,就像隔着饺子皮看不出馅被换过一样。但是,一旦某个模块的功能发生了变化,它还是会影响到其他模块的,因为它们之间确实是存在联系的,这种关系就像煮在同一锅汤里的一个个饺子一样,汤汁把它们联系在了一起—我正是从这种汤汁联想到了融化的奶酪的这个形象。
动态链接库灾难就是一个反应这种融化奶酪效应的好例子。通常,多重应用会依赖于同一个动态链接库,只要其中的一个应用被更新,这个动态链接库就需要被相应地改动以适应这个应用的新版本,随着而来的是其他所有依赖于这个动态链接库的应用都需要进行改动。
更多精彩
赞助商链接