程立谈架构、敏捷和SOA实践
支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。
作者 霍泰稳 发布于 2007年7月16日 上午3时4分
直到现在,在很多开发者社区里你都还能看到关于Java和.NET那个好,哪个容易学,哪个更有前景的讨论。其实这些争论严格来说,毫无意义,正如我们通常所说的一句话,“不管黑猫白猫,能抓住耗子就是好猫”,在任何一个平台或者语言的领域里,我们都能看到成功的典范。虽然各有优缺点,但它们也都各能解决不同的问题,在自己擅长的领域里赢得开发者的尊重。其实,现在有一个更深入的话题,也就是本文作者Ted Neward所讨论的——抛开你究竟喜欢哪个平台,向如何将两个平台结合使用领域迈进。
在一篇文章里完全列出两个平台所有的整合方法不太现实,Ted Neward根据自己的经验选择了几个比较吸引人的方式,从理念和代码上进行了阐述。包括从WPF到WCF再到Java Web Service,SQL Server服务代理与JSP,Office与Spring等,除了对这三个进行比较详细的介绍外,他还简单提到其他一些比较实用的方案如使用Java的Workflow操作、内置Workflow的Java等。文末对Java和.NET领域的主要概念介绍,也有一定的参考价值。
随着平台的发展和进步,越来越多的开发人员也逐渐意识到使用.NET和Java相结合的优势,也有越来越多的方案得到实施。可喜的是,这两个社区都在进行着更多的创新,也都会更加开发和诚恳地考虑如何更好地解决客户的问题。正如Ted Neward所言:
毕竟最后不论你喜欢哪种技术,我们的目的都是一个:为客户提供解决方案。
支付宝首席架构师程立在本文分享了支付宝技术架构的发展,对架构的认识,成功架构的特点,如何避免架构设计的失败,以及在敏捷和SOA方面的实践等。
作为一个有别于Java、Ruby等语言的一个特性,C#可以用索引器(Indexer)将类型本身以对象数组的形式供外部使用。同时,把索引器和LINQ结合使用倒是一个非常不错的组合,索引器做接口、LINQ完成内部检索逻辑,客户程序在无需记住具体方法名称的前提下,按照键值检索即可,索引器内部则依托LINQ to系列的基础,提供对各种异构数据源的访问。
Scrum中,产品负责人这个角色具有很大的影响力,能够带来很高的价值。但要想运用得当,可没那么轻而易举。如果做得好,就可以在客户和开发者之间建立更为融洽的关系,并能够增加组织的竞争优势。
在本书中,作者Henrik Kniberg讲述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。
准时化生产(Just In Time)是精益生产(Lean Production)和丰田生产系统(Toyota Production System)中的概念,敏捷开发与准时化生产中的很多观点和实践是一致的,精益思想作为精益生产背后的指导思想也正在积极地影响着软件开发领域,向其中不断注入创新与活力。
I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。
2 条回复
回复