Google IO 2009:GWT应用架构最佳实践
需积分: 3 46 浏览量
更新于2024-07-31
收藏 1.32MB PDF 举报
"GWT Architecture Best Practices.pdf 是2009年Google IO大会上关于Google Web Toolkit (GWT) 应用程序架构最佳实践的文档,重点关注客户端架构,并分享了新AdWords用户界面开发中的经验教训。文档的核心观点强调了正确处理浏览器历史、使用事件总线避免代码混乱以及依赖注入与模型-视图-呈现器(MVP)模式的优势。"
在GWT应用架构中,有三个主要的主题或最佳实践:
1. 拥抱异步性(Embrace Asynchrony):
GWT应用程序常常需要进行远程过程调用(RPCs),这些调用通常是异步的。因此,设计时应假设所有操作都可能需要异步处理。这意味着组件不应阻塞等待服务器响应,而是采用回调或者Promise/Future等机制来处理结果。这有助于保持用户界面的响应性和流畅性。
2. 始终解耦(Always Be Decoupling):
为了提高代码的可维护性和可测试性,应用应尽可能地减少组件间的耦合。通过使用接口而不是具体的实现,可以更容易地替换或扩展功能。此外,模块化设计和独立的组件服务也有助于解耦。
3. 努力实现无状态(Strive to Achieve Statelessness):
尽量使服务器端保持无状态,这意味着服务器不保存特定会话的任何信息。这样可以提高可伸缩性,因为服务器可以更轻松地处理更多的并发请求。客户端应负责存储必要的状态信息,同时利用HTTP协议的无状态特性。
文档中还特别提到了两个关键点:
- 正确处理浏览器历史(Get Browser History Right, and Get It Right Early):
浏览器历史管理是GWT应用中的重要一环,它允许用户通过前进和后退按钮导航。尽早设计并正确实现这一功能可以确保用户友好的导航体验,避免之后的重构困难。
- 使用事件总线(Use an Event Bus to Fight Spaghetti):
事件总线模式可以帮助组织和简化组件之间的通信。通过发布和订阅事件,可以避免直接引用和硬编码依赖,从而降低代码复杂度,提高可维护性。
- 依赖注入(Dependency Injection, DI)加上MVP模式(Dependency Injection plus Model/View/Presenter for the Win!):
依赖注入框架如Guice可以帮助管理对象的生命周期和依赖关系,而MVP模式则提供了一个结构化的架构,将视图、模型和处理用户交互的presenter分离开来,有利于代码的清晰性和测试。
新AdWords UI的开发经验教训强调了这三个主题的重要性,这些经验同样适用于其他复杂的GWT项目。遵循这些最佳实践,开发者可以构建出高效、可扩展且易于维护的GWT应用程序。
2009-12-03 上传
107 浏览量
2023-09-13 上传
2023-06-02 上传
2023-03-23 上传
2023-06-03 上传
2023-06-03 上传
2023-06-03 上传
2023-05-22 上传
![](https://profile-avatar.csdnimg.cn/fe8bae5f3d9f426587c17eb345d155ea_usedtolove.jpg!1)
HuJingLing
- 粉丝: 30
- 资源: 24
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南