轻量级开发的成功秘诀,第 4 部分: 轻量级容器的比较
2009-11-11 00:00:00 来源:WEB开发网整体质量
社区的大小和实力通常驱动开放源码项目的整体质量。充满活力的社区需要更好的文档和示例,而且它们会参与完成结尾的详细信息。
Spring 团队编写了可与我见过的一些比较好的商业产品相媲美的文档。如果这还不够的话,您还可以找到至少五本主要 Spring 书籍和其他许多包含 Spring 内容的出版物。(我自己曾撰写过两本有关 Spring 的书籍,其中一本书中包括 Jolt-winning Better, Faster, Lighter Java 一章,另一本是快速入门书籍 Spring: A Developer's Notebook)。错误消息是专业性和描述性的。与第三方框架和 API 的集成是所有 Java 技术框架中最好的。包装是经过深思熟虑的,不过略有多余。(它帮助我开始把一些比较小的项目划分成模块。)示例是优秀且有指导意义的。
与 Tapestry 一样,HiveMind 也具有好的整体质量。Ship 自己以那些让 HiveMind 变得简单易用的特性而自豪,比如行准确的错误报告;友好简明的 XML 语法;良好的文档工具 HiveDoc。与用于低级详细信息的 JavaDoc 文档结合使用,您可以更好地描述您的应用程序(HiveMind 模块)的高级特性,从而完善它们之间的依赖关系。
PicoContainer 编程模型感觉自然,但文档不完整(许多方法标记看起来过时好几个月了),而且没有许多使用该容器的真实世界示例。有时候,我会觉得自己在独自穿过鬼魂出没的破屋。
但使用 PicoContainer 确实有一个主要优点。因为您配置现实世界的对象时,会得到一些编译时错误检查。实际上,该容器太小太轻了,以至于除了基本配置之外,没有什么能出错。PicoContainer 做了一项合理的工作。
特性
我不想过多地讨论特性。如果您正在寻找许多胶水代码来减少您的开放源码收藏夹的集成或某特定 J2EE API,Spring 无疑是最佳选择。HiveMind 不尝试参与竞争。相反,它与 Spring 的服务兼容。PicoContainer 不构建而且也不尝试构建附加物,而是选择让开放源码项目为其提供服务。到目前为止,它的效果不太好。
哪一个最好?
目前,只有一个真正的答案。HiveMind 具有有趣的创新,PicoContainer 具有易于使用的模型(理论上),但社区似乎已经投票选择了 Spring Framework。随着时间的推移,新的容器可能会成长,HiveMind 可能不断获得市场份额,但目前,Spring 是您的最佳选择。
如果您愿意冒一些险,而使用不太成熟或不太流行的容器,您可能决定实现 HiveMind(如果需要模块级别的配置)或 PicoContainer(如果想要微小的容器)。如果需要许多胶水代码来集成持久引擎、事务处理策略和安全性等方面,Spring 具有最完整的组件堆。但请记住:您可以在 HiveMind 容器中使用 Spring 组件。
更多精彩
赞助商链接