OpenSocial规范、实现现状与展望
OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。

作者 Amr Elssamadisy译者 郑柯 发布于 2007年11月8日 上午6时38分
Kent Beck的新书《实现模式》是一本关于如何撰写Java代码的书。本书中的模式,是基于Kent对现存代码的阅读以及他自己的编程习惯而形成的。这些模式来自他早年使用Smalltalk模式通过代码与其他开发人员进行沟通的过程。它们的级别相对设计模式较低,与Larman提出的GRASP模式处于同一粒度。本书中的模式试图为如何撰写大家都能看得懂的代码提供一个清晰明确的视角,并告诉你这些代码如何为人的需要和降低成本的需求提供保障。当然,什么样的代码才是好的代码——更不用说伟大的代码了——这一点所有的开发人员都无法达成一致意见。Kent提出了他的编程理论作为辨识代码的基础。 作为介绍性章节,第一章介绍了本书的目标,第二章对模式进行了阐述。在本书的第三章中,Kent描述了在编程中两个具有横切面性质的关注点:价值观与原 则。
价值观是编程过程的统一支配性主题。当我工作状态尚佳的时候,我珍视与其他人沟通的重要性,去除我的代码中多余的复杂性,并保持开放的心态。这些价值观——沟通、简单和灵活——让我在编程时所做的每个决策都充满了丰富的色彩。此处描述的原则不像上面的价值观那样普及和意义深远,不过每一项原则都被许多模式所表达。价值观,一般都是通用性非常强的,难以直接应用;模式虽可以直接 应用,却是针对特定情景的;原则在价值观和模式之间搭建了桥梁……在面对不确定性的时候,对原则的理解让我可以“做出一些补偿”来与我其他的实践保持一 致,而且结果也很不错。
Kent接下来详细讨论了价值观和原则。本书中的模式都会回头参考到价值观和原则——它们可以帮助开发人员理解每个模式是如何帮助达成更大的目标的。
这些价值观是:
这些原则是:
本章接下来的一章,是关于激励——主要是经济激励——驱动软件开发的激励的。简而言之,我们把大部分的时间都耗费在了软件维护上面。变化的成本是下面这些因素的总和,依次是:理解代码、变更代码、测试代码,最终是发布代码。
本书中的模式是以散文形式写就的,涵盖的内容从何时应该在类中创建一个数据字段开始,到判等方法(equality method),再到子类化过程,全部包括在内。这些模式被分类到不同的章节,包括:
下面是一些模式的例子:(Kent表述它们的方式要比这些略述优雅得多)
Kent以优雅简洁的方式为我们分享了他的经验(全书加附录共156页)。他并没有制定规则,而是给出了价值观、原则和经验之菁华(rules of thumb):
没有统一的法则。程序员需要思考、沟通和学习。这是敬业精神的一部分。
本书对于初级和高级开发者同样很有帮助——每个人都能获得不同的收获。刚进入软件开发领域的新人们能够通过当今最富才华开发人员之一的眼睛来看待开发工 作。其他有较多经验的人们可以反思他们获得成功的一些实践,通过聚焦于成功的原因,这些实践呈现出了不同的意义。最终,将价值观、原则(特别是价值观)和 软件开发捆绑在一起,让一切都变得不同了——当然是以一种非常好的方式。
查看英文原文:Book Review: Implementation Patterns
OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。
Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
11 条回复
回复