首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》第28章 协同设计是一把双刃剑

关灯直达底部

让我们想象一下,你被任命负责建设一个三层的Web应用程序,有一个由具备Web技术、服务端编程和数据库专长的人组成的小团队。从资源的角度来看,这堪称完美,因为你拥有跨越整个栈的经验。你不应该有任何问题,对吧?

整个团队的有效性取决于很多因素,其中之一是克制自负的情绪,专注于交付给定语境下的最佳解决方案的意愿。有时候,个别人由于缺乏团队合作的经验,或在工作中产生了自负情绪,都会拖团队的后腿。如果有需求是为用户查看和处理我们的三层Web应用程序上的数据提供一种方式,每一个专家可能都会给你不同的方法。

  • Web开发者 :只要给我JSON格式的数据,我们就能用它在Web层做任何想做的事。甚至能加入一些jQuery来动态处理浏览器中的数据;
  • 服务端开发者 :我们应该重用和扩展一些中间服务层已有的业务逻辑。这增加了重用,比把全部数据都发到Web层更安全,还能在周围编写自动化单元测试;
  • 数据库开发者 :你们都是白痴。不管你们要什么数据,我都能很快地写一个存储过程出来。